可选用以下两种方式:
添加计划任务,任务类型为
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
并无实际意义,也可以传输任意字符;