nginx 在续订后不重新加载证书

nginx 在续订后不重新加载证书

我们有以下设置:多台 Linux 服务器,分别搭载 Ubuntu 20.04 和 22.04。这些服务器上托管着我们客户的网站。我们使用 certbot 来生成或更新证书。作为 Web 服务器,我们使用 nginx。

证书是使用以下命令生成的:

certbot --webroot-path /path/to/webroot -d domain.name

为了更新,将执行以下 cronjob:

certbot -q --post-hook "service nginx reload" renew'

直到去年 12 月,这个设置一直运行良好。但最近,帖子挂钩不再起作用了

service nginx reload

因此 certbot 成功请求证书并将新证书写入存储。但是使用 reload 命令时,nginx 未使用新证书。

我调试了该行为,以下所有命令均未加载新证书:

nginx -t && nginx -s reload
/etc/init.d/nginx reload
systemctl reload nginx
nginx -s reload
nginx -t -q && nginx -s reload

只有硬重启服务才有帮助,然后使用新的证书:

systemctl restart nginx

我找不到有关此行为的任何信息。还有其他管理员遇到同样的问题吗?我不想不断重新启动服务。为了防止续订后停机和中断。

相关内容