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



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