首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新Apache httpd上的letsencrypt证书

更新Apache httpd上的letsencrypt证书
EN

Server Fault用户
提问于 2016-08-09 11:22:39
回答 1查看 12.8K关注 0票数 7

我正在使用certbot --webroot插件和certbot renew来更新证书,这是可行的,但是看起来httpd正在缓存证书,并且没有“看到”它已经更新。

是否有信号让httpd重新加载证书?

附注:我不喜欢重新启动httpd以避免停机。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-08-11 19:14:05

要让httpd注意到新的证书,您需要请求它执行"优美重启“。从医生那里:

USR1或优美信号使父进程通知子进程在其当前请求后退出(如果其子进程没有提供任何服务,则立即退出)。父文件重新读取其配置文件并重新打开其日志文件。当每个子节点死掉时,父级将替换为新一代配置中的一个子级,该子代将立即开始处理新请求。

如此优雅的重新启动不会导致停机。

为了让letsencrypt/certbot触发一个优雅的重新启动,使用--post-hook参数。如果尝试进行证书更新,此参数将运行一次命令。来自文档

命令在尝试获取/续订证书后在shell中运行。可用于部署更新的证书,或重新启动由-预钩子停止的任何服务器.只有在尝试获取/续订证书时才会运行此操作。(缺省:无)

所以你想要的命令是

代码语言:javascript
复制
certbot renew --post-hook "apachectl graceful"

或者如果从一个cron作业跑掉

代码语言:javascript
复制
certbot renew --quiet --post-hook "apachectl graceful"

(感谢@RustyX在这个问题上的帮助)

票数 10
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/795731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档