可选用以下两种方式:
添加计划任务,任务类型为
Shell 脚本
,每周执行一次。申请证书之后执行脚本。
#!/bin/bash
# 定义所需参数,修改此处参数
cert_file="{pem证书文件路径}"
key_file="{pem私钥文件路径}"
cert_id="{雨云已有证书ID}"
api_key="{apiKey}"
# 下方命令无需修改
# 替换换行符为\n
cert_content=$(sed ':a;N;$!ba;s/\n/\\n/g' $cert_file)
key_content=$(sed ':a;N;$!ba;s/\n/\\n/g' $key_file)
# 设置URL
URL="https://api.v2.rainyun.com/product/sslcenter/$cert_id"
# 设置JSON数据
DATA="{\"Cert\": \"$cert_content\",\"Key\": \"$key_content\"}"
echo -d "------------------------------------------------------------------------------------------------------------------------------------------------"
echo -d "$DATA"
echo -d "------------------------------------------------------------------------------------------------------------------------------------------------"
# 发起PUT请求,传递JSON数据,并获取返回值
RESPONSE=$(curl -s -X PUT -H "Content-Type: application/json" -H "x-api-key: $api_key" -H "rain-dev-token: $api_key" -H "User-Agent: Apifox/1.0.0 (https://apifox.com)" -d "$DATA" $URL)
# 打印返回值
echo $RESPONSE
{pem证书文件路径}
:1panel申请证书的推送目录下fullchain.pem
文件的全路径,若选择在申请证书之后执行脚本
方式,则可以使用相对路径./fullchain.pem
;{pem私钥文件路径}
:1panel申请证书的推送目录下privkey.pem
文件的全路径,若选择在申请证书之后执行脚本
方式,则可以使用相对路径./privkey.pem
;{雨云已有证书ID}
:雨云-SSL证书中心-我的证书
,找到需要自动提交更新的证书ID,若没有证书,需要先添加一个证书;{apiKey}
:在账户设置中获取API密钥,目前rain-dev-token
并无实际意义,也可以传输任意字符;