最近走ddns的nas域名又过期了,打算使用acme.sh重新弄一下。原先使用的是阿里的一年一续期的免费证书,后来调整为三个月,就每次去申请,下载,部署就略显繁琐。
之前在华为云服务器上用过一次acme.sh,使用ali_dns很顺利就取到证书了。但是这次给自己上难度了,加了docker,还是在群晖里,踩了一堆的坑。
DNS API:dnsapi
启动方式走 daemon 模式。

shell
#docker部署
# 使用镜像 neilpang/acme.sh
# 群辉执行命令使用 daemon
# ali_dns
export Ali_key
export Ali_Secret
# 证书域名
export CERT_DOMAIN
# 群辉账号
export SYNO_Username
# 群辉密码
export SYNO_Password
# 因为自定义端口了,这里得写
export SYNO_PORT
# 开启多重验证需要这个,随便一个请求,cookie中拿
export SYNO_DID
# 生成证书
acme.sh --register-account -m test@qq.com --issue --log --dns dns_ali -d ddns.xxx.com --force
# 部署证书
acme.sh --deploy --home . -d "$CERT_DOMAIN" --deploy-hook synology_dsm
# 定时任务
docker exec acme acme.sh --deploy --home . -d "$CERT_DOMAIN" --deploy-hook synology_dsm虽然定时任务弄上去了,但是这个部署需要输入一个OTP码,这有点坑了,还得手动部署一次。目前能想到的办法是安装acme到服务器层,然后使用 export SYNO_USE_TEMP_ADMIN=1 这个提权后自动部署。
