为群晖配置 acme.sh 自动更新证书(Let's Encrypt)|无需 80/443|2025年12月修订

一直苦于群晖证书的问题,也是懒得折腾

这次一劳永逸,自动更新。先下载 acme.sh 到群晖路径(我这里是 /volume1/Archive/acme) ,或者:

git clone https://github.com/acmesh-official/acme.sh

另外设置一个 home 路径用来安装 acme.sh(这里是 /volume1/Archive/acme/home):

然后你需要有一个 Cloudflare 的域名(其他域名托管参考这里),并获取到有对应域名 DNS 编辑权限的 Token:

./acme.sh --install --home /volume1/Archive/acme/home --accountemail "你的邮箱@example.com" --nocron
./acme.sh --set-default-ca --server letsencrypt
export CF_Token="xxxx"
./acme.sh --issue --dns dns_cf -d abc.appinn.com
export SYNO_USE_TEMP_ADMIN=1
./acme.sh --deploy --deploy-hook synology_dsm -d abc.appinn.com

最后在计划任务里设置一个定时循环,每月执行一次:

/volume1/Archive/acme/acme.sh --cron

参考:

[!注意] 2025-12-04T16:00:00Z 修订
现在替换为 Cloudflare 的 Token 了,不再使用 Global API Key。
需要删除 /root/.acme.sh/account.conf 文件里的 SAVED_CF_Key 行,然后替换为SAVED_CF_Token='123-123'
就可以继续签发证书了。

如何切换到 Let’s Encrypt

今天遇到了 ZeroSSL 的问题,一直签发失败。于是切换回去:
acme.sh --set-default-ca --server letsencrypt 即可

别折腾了,直接上Lucky,舒舒服服的。

折腾完了…

我在用自部署certd

目前certbot 比acme好

这一套操作会自动部署么,也就是说群晖里的证书会自动变为新证书么?

会的,不然白折腾

我一直用的这个,GitHub - andyzhshg/syno-acme: 通过acme协议更新群晖HTTPS泛域名证书的自动脚本

哦,对了,蛙,这套连招,DSM7.2支持么?然后除了zerossl,letsencrypt支持么?

支持

我是用了群晖自己的ddns和证书,然后把证书导出来用在其他服务里 :sweat_smile:

群晖签的私有证书?

我不知道是不是私有证书啊 :sweat_smile:
就是在控制面板—>安全性—>证书 那里,不是能导出证书吗?用那个。
存储位置大概是 /usr/syno/etc/certificate/_archive/ 里面某个文件夹里 搞个定时任务,直接复制到目标位置也行

更新啦更新啦。