由于我使用了 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 生效"这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.