群晖使用任务计划实现Let’s Encrypt 泛域名证书自动更新
群晖使用任务计划实现Let’s Encrypt 泛域名证书自动更新

群晖使用任务计划实现Let’s Encrypt 泛域名证书自动更新

前言

我的黑群晖是跑在unraid下虚拟机里的,用来存储和备份,还有就是做反向代理,用于外网访问,我有固定公网IP,申请了Let’s Encrypt 泛域名证书,由于免费证书只有90天有效期,通过度娘参考借鉴,使用群晖任务计划自定义脚本实现证书每月自动更新。

通过acme协议更新群晖HTTPS泛域名证书的 自动脚本

配置前准备

你需要自动更新的证书已经作为默认证书

5ee9a200188563837.png_e1080

下载一键更新脚本

 

项目下载1

本地下载2

解压后将文件上传至群晖内任意文件目录

5ee9a24ea6bd25592.png_e1080

编辑脚本配置文件config

5ee9a268948a09110.png_e1080

阿里云的Ali_key与Ali_secret查看方法:

进入阿里云控制台,鼠标移至右上角头像,点击AccessKey管理

5ee9a342ca50e8021.png_e1080

安全考虑,这里最好建立子用户

5ee9a34928ebd7692.png_e1080

创建用户

5ee9a37fc657b1660.png_e1080

创建后首次可见key和secret,注意保存,如果忘了,删掉用户,重新创建26

5ee9a441823b7934.png_e1080

左侧栏选授权——新增授权

5ee9a45fbcf8b6647.png_e1080

5ee9a493cf9f45406.png_e1080

完成后将key和secret填入config文件对应位置

5ee9a51551ee92754.png_e1080

最后配置群晖计划任务

先复制下上传到群晖里的脚本程序地址

5ee9a5cd4fc196283.png_e1080

接着打开 控制面板-任务计划-新增-计划的任务-用户定义的脚本33 (看到曙光了)

5ee9a61c0d1145281.png_e1080

设置任务名称和操作用户,用户选root

设置计划的时间和周期,这里只支持按月或者年重复,我们只能取按月重复才能满足 Let’s Encrypt 至少3个月更新一次的要求:

5ee9a67e524839822.png_e1080

最后设置执行脚本

sh文件路径为file station里复制过来的,logtxt路径与sh文件相同,两条命令之间没有换行

以下命令根据自己文件路径修改,不要照搬路径 23

 

5ee9a6cb66ba67448.png_e1080

最后在新建脚本上右键运行

5ee9a8d7453942547.png_e1080

最后看一下运行结果是否正常

5ee9a9b1ad7313836.png_e1080

结语

这样群晖就会每个月,执行一次该脚本,自动更新证书,并重启web服务器加载新的脚本。

至此实现群晖任务计划进行Let’s Encrypt 泛域名证书自动更新,34

tips:脚本里提供了回滚命令,可以通过ssh登录到nas,定位到对应目录,执行如下命令回滚证书目录到备份的状态

点击数:0

发表回复