群晖使用了 letsencrypt 的免费证书,3 个月要更新一次,之前是在 Mac 上更好证书,手动通过群晖 web 页面进行替换。
本着能不动手就自动化的目标,查找了一些资料,加上实际测试,现在已经能通过 docker 来申请并且在群晖上自动部署证书。
前置条件
更新脚本如下
#!/bin/bash
export DOMAIN='abc.com'
docker run --rm \
-v "/volume2/docker/acme":/acme.sh \
-e Ali_Key="*" \
-e Ali_Secret="*" \
--net=host \
neilpang/acme.sh \
--issue --dns dns_ali --dnssleep 60 -d "${DOMAIN}" -d "*.${DOMAIN}" --server letsencrypt
sleep 5
docker run --rm -v "/volume2/docker/acme":/acme.sh -e SYNO_Username="*" -e SYNO_Password="*" -e SYNO_Certificate="caupdate" -e SYNO_Scheme="http" -e SYNO_Create=1 --net=host neilpang/acme.sh --deploy -d "${DOMAIN}" -d "*.${DOMAIN}" --deploy-hook synology_dsm
其中
其他部分保持默认,保存后添加脚本执行权限,本地跑一遍测试下,没问题就可以添加到计划任务,定期运行。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.