使用 Acme.sh 自动更新群晖证书。
准备工作
- 开启终端 SSH
安装 Acme.sh
curl https://get.acme.sh | sh -s email=my@example.com --no-cronemail用于证书签发机构相关通知,现在作用不大。
--no-cron不安装默认的 cron 定时任务,这与群晖不兼容,群晖有自己的定时任务执行方式,稍后添加。
更多安装方式,参阅Github 安装指南。
签发证书
省略,自行了解。
部署证书
export SYNO_USERNAME="username"
export SYNO_PASSWORD="password"
export SYNO_SCHEME="https"
export SYNO_HOSTNAME="nas.example.com"
export SYNO_PORT="443"
export SYNO_CREATE=1
export SYNO_CERTIFICATE="AcmeRobot"
acme.sh --deploy -d nas.example.com --deploy-hook synology_dsm- SYNO_USE_TEMP_ADMIN=1:使用临时管理员完成认证,不需要提供用户名和密码,只适用于本地操作,不适用于 docker 环境。
- SYNO_USERNAME:用户名
- SYNO_PASSWORD:密码
- SYNO_SCHEME:默认 "http"
- SYNO_HOSTNAME:默认 "localhost"
- SYNO_PORT:默认 "5000"
- SYNO_CREATE=1:允许证书不存在时创建证书
- SYNO_CERTIFICATE:通过证书描述替换指定的证书
定时任务
控制面板 > 任务计划 > 新增 > 计划的任务 > 用户定义的脚本,创建以下任务。
任务名称:AcmeRobot
用户账户:xueye(建议使用普通用户)
计划:每天 00:00
运行命令:
/var/services/homes/xueye/.acme.sh/acme.sh --cron --home /var/services/homes/xueye/.acme.sh