
由于我使用了 frp+域名穿透 https 的方式,使用https://github.com/andyzhshg/syno-acme 申请 Let's encrypt 证书,今天突然发现证书是过期的,排查了一下 Log ,发现如下错误:
begin reloadWebService reloading new cert... /volume1/nas_share/certs/syno-acme/cert-up.sh: line 69: /usr/syno/etc/rc.sysv/nginx.sh: No such file or directory done reloadWebService 后续在项目仓库issue中查到
nginx.sh在 dsm7 中并不存在,导致无法让 nginx 重新加载新证书,群晖自带的 nginx 使用 systemd 的方式管理,而普通的 systemctl reload nginx 也无法重新加载新的证书
systemctl restart nginx,但是群晖很多服务基于 nginx ,导致很多套件重启,比较麻烦,耗时也比较久synow3tool --gen-all && systemctl reload nginx 替代 restart ,"dsm7 中多了一个 nginx 的 www 证书路径,前面的 syno3tool 用于更新那个路径下的证书,更新后即可正常 reload 生效" 1 heiybb 2022-08-27 20:17:46 +08:00 synosystemctl restart nginx |
2 j3n5en 2022-08-28 02:37:34 +08:00 via Android 不是有一个 dsm7 的 branch 吗?我就用着,能用 |
3 dianqk 2022-08-28 07:49:50 +08:00 via Android |
4 zggsong OP @j3n5en 一开始用的时候系统还是 dsm6 ,部署完服务, 后来升级到 7 ,才发现问题 分享出来 帮助更多人解决问题 |
6 cppc 2022-08-28 21:01:52 +08:00 我也是用的 3 楼的方式,在群晖的 docker 里面跑的 acme |
7 liaohongxing 2022-08-29 08:09:10 +08:00 为什么不用 https://github.com/acmesh-official/acme.sh ,你这个都几年没更新了。 |
8 zggsong OP @liaohongxing 一开始只找到了这个就用这个了 tag 还在更新,小问题 |
9 peasant 2022-09-07 09:10:03 +08:00 我都是弄有效期 1 年的证书,发现不能用了再手动换一下 |