51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

使用1panel自动更新雨云SSL证书的Shell脚本

可选用以下两种方式:

  1. 添加计划任务,任务类型为Shell 脚本,每周执行一次。

  2. 申请证书之后执行脚本。

#!/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并无实际意义,也可以传输任意字符;



赞(8)
未经允许不得转载:工具盒子 » 使用1panel自动更新雨云SSL证书的Shell脚本