certboot 更新成功后自动重新加载 Nginx?

certboot 更新成功后自动重新加载 Nginx?

每三个月,我的 Let's Encrypt 证书就会过期,我的客户就会收到无效的 https 证书。

所以我最近放置了以下 cron 任务:

@weekly certbot renew --quiet && service nginx reload

据我了解,当certbot renew成功更新证书时,它会返回成功状态(exit(0)),因此&&会遵循,然后重新加载 nginx。

是的,但是它不起作用。最近我的服务器再次显示证书已过期,所以我肯定误解了什么,或者我的 cron 任务不好。

你能告诉我路径吗?:)

答案1

更好的方法是使用--renew-hook可以调用脚本的方法。这也是--no-self-upgrade自动续订的好选择,此选项可防止续订期间的更新,这可能会破坏某些东西

cron 记录可以

certbot renew --quiet --no-self-upgrade --renew-hook /path/to/hook.sh

hook.sh

#!/bin/sh
set -e
nginx -t -q && nginx -s reload
exit 0

此脚本仅在续订操作发生时调用,而不是每周调用

完整解释在手册页中或在文档中

相关内容