由于我使用了 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 年的证书,发现不能用了再手动换一下
|