Replies: 4 comments 2 replies
-
你用了证书自动申请证书 可以直接推送到网站证书目录吧 这样就省去了这些中间步骤 |
Beta Was this translation helpful? Give feedback.
0 replies
-
有理,也不是不行hhh( 但这样网站多的话,要添加好多推送任务,想着推送一遍一劳永逸,后边新增网站也不用重新添加推送任务😂😂 |
Beta Was this translation helpful? Give feedback.
0 replies
-
附议,这个功能很需要。目前1panel也没有设计接口和apikey无法手动实现 |
Beta Was this translation helpful? Give feedback.
1 reply
-
我实现了一个,方便后面搜到这的人用,我分享一下: #!/bin/bash
# 定义用户名和密码
USERNAME="****"
PASSWORD="****"
# 安全入口 EntranceCode(Base64 )
ENTRANCE_CODE="****"
# 1Panel API 地址
LOGIN_URL="https://****.cn/api/v1/auth/login"
UPLOAD_URL="https://****.cn/api/v1/websites/ssl/upload"
# 定义证书相关信息
PRIVATE_KEY_PATH="/etc/cert/****/cert.key"
CERTIFICATE_PATH="/etc/cert/****/cert.crt"
SSL_ID=1
DESCRIPTION="sync from certd:tx4"
# 构建登录请求的 JSON 数据
LOGIN_DATA=$(cat <<EOF
{
"name": "$USERNAME",
"password": "$PASSWORD",
"language":"zh",
"authMethod": "jwt"
}
EOF
)
# 使用 curl 发送登录请求
RESPONSE=$(curl -s -X POST "$LOGIN_URL" \
-H "Content-Type: application/json" \
-H "EntranceCode: $ENTRANCE_CODE" \
-d "$LOGIN_DATA")
# 解析返回的 token
TOKEN=$(echo $RESPONSE | grep -Po '(?<="token":")[^"]*')
# 检查是否登录成功
if [ -n "$TOKEN" ]; then
echo "登录成功,token: $TOKEN"
# 读取私钥和证书内容
# PRIVATE_KEY_CONTENT=$(cat "$PRIVATE_KEY_PATH")
# CERTIFICATE_CONTENT=$(cat "$CERTIFICATE_PATH")
# 构建上传证书的请求数据
UPLOAD_DATA=$(cat <<EOF
{
"privateKey": "",
"certificate": "",
"privateKeyPath": "$PRIVATE_KEY_PATH",
"certificatePath": "$CERTIFICATE_PATH",
"type": "local",
"sslID": $SSL_ID,
"description": "$DESCRIPTION"
}
EOF
)
# 发送证书上传请求
UPLOAD_RESPONSE=$(curl -s -X POST "$UPLOAD_URL" \
-H "PanelAuthorization: $TOKEN" \
-H "Content-Type: application/json" \
-d "$UPLOAD_DATA")
# 输出上传结果
echo "证书上传响应: $UPLOAD_RESPONSE"
else
echo "登录失败,请检查用户名或密码"
echo "失败响应: $RESPONSE"
fi
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
1Panel 版本
专业版 v1.10.14-lts
请描述您的需求或者改进建议
由于1panel暂无精力适配华为云dns账号,因此使用certd程序自动化申请证书,可以推送到服务器本地
1panel这边也能选择本地文件,但是当本地证书文件更新,1panel要想更新还需要再次选择证书路径才能获取最新证书信息,不能自动获取本地新的证书文件

需求&改进建议:


在选择手动上传且选择为本地文件时,此更新按钮点击后可立即获取新的本地证书文件
在证书详情界面显示本地证书路径,以及可以配置 自动化任务:定时自动获取本地证书文件,以达到自动更新
请描述你建议的实现方案
在选择手动上传且选择为服务器文件时,更新按钮点击后可立即获取新的本地证书文件
在证书详情界面显示本地证书路径,以及可以配置 自动化任务:定时自动获取本地证书文件,以达到自动更新
附加信息
No response
Beta Was this translation helpful? Give feedback.
All reactions