这是一个创建于 701 天前的主题,其中的信息可能已经有所发展或是发生改变。
定时脚本 2 个月执行一次:
certbot renew --post-hook "docker restart 容器 ID"
看了 ssl 证书有更新,但是容器没自动重启,以至于容器里调用的 ssl 证书文件还是旧的,https 网页打开提示证书过期,手动执行一下 docker restart 就可以访问 https 网页
--post-hook 参数这样用应该没错吧?
谷歌了一下,貌似这样比较保险:
certbot renew --pre-hook "docker stop container_id" --post-hook "docker start container_id"
9 条回复 • 2022-12-28 16:29:18 +08:00
|
|
1
markgor 2022-12-23 16:54:46 +08:00
我之前也试过很像也是有问题,忘记了是路径还是什么,我不是 docker ,而是直接 nginx reload 。 后来解决方法是把 nginx reload 还有 CDN 更新的写在 bash 里,通过 post-hook 来调用 bash 就正常
|
|
|
2
estk 2022-12-23 17:07:29 +08:00 via iPhone
@ markgor #1 你说的有道理,有可能定时任务那个用户没权限
|
|
|
3
julyclyde 2022-12-26 12:39:10 +08:00
容器重启,内容不就复原了吗?
|
|
|
4
estk 2022-12-26 15:31:38 +08:00
@ julyclyde #3 ssl 证书在宿主机,重启容器才能重新读取 ssl 证书文件,否则上一次启动容器读取的是旧文件
|
|
|
6
estk 2022-12-27 16:04:09 +08:00 via iPhone
@ julyclyde #5 自签证书,邮件瞎写,而且这个跟 ssl 无关,docker 没被重启而已
|
|
|
8
estk 2022-12-28 11:46:49 +08:00 via iPhone
|