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

前言

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

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

配置前准备

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

下载一键更新脚本

 

项目下载1

本地下载2

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

编辑脚本配置文件config

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

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

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

创建用户

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

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

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

最后配置群晖计划任务

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

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

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

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

最后设置执行脚本

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

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

 

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

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

结语

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

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

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

浏览量: 321