letsencrypt 已停止自动更新

letsencrypt 已停止自动更新

我在今年年初设置了我的 letsencrypt 证书,一切运行良好 - 在此期间,它们都至少通过 crontab 作业自动更新过一次。我最初使用此演练来设置它们:https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04

但是我昨天收到了到期通知,今天早上证书正式到期。

我检查了我的 crontab 作业,它们看起来很好,并且日志只显示成功,所以问题似乎不存在。

因此我尝试使用以下方法手动运行自动更新过程:

/opt/letsencrypt/letsencrypt-auto renew

没有错误,我收到了祝贺消息,通知我所有续订都已成功。

恭喜,所有续订均已成功。以下证书已续订​​:…

但是,实际上没有任何证书更新。我昨天收到通知的网站仍然有相同的到期日期(今天早上),所以它似乎实际上没有更新。

过去 6 个月内是否发生了可能导致此问题的变化?我真的需要更新这些证书……

编辑:好的,所以我最初错过了这个错误(因为它标记了整个过程所以很容易被错过):

certbot.cli:您正在运行旧版 letsencrypt-auto,该版本未接收更新,并且可靠性不如较新版本。我们建议升级到最新的 certbot-auto 脚本,或使用原生操作系统软件包。

(虽然强调它不仅仅是过时的,它不起作用

此主题(https://community.letsencrypt.org/t/message-about-out-of-date-software/16425)表示自动续订流程需要用 Certbot 替换(https://certbot.eff.org/#ubuntutrusty-nginx)。我设法将它放到我的服务器上并生成新的证书(说明对我来说有点高级,但我差不多做到了 - 虽然它没有将证书保存在相同的目录中,而是创建了带有“0001”附加的新证书,这意味着我还必须更新我的所有 nginx 配置……唉) - 但是我不知道如何将它纳入我使用 letsencrypt 和 crontab 设置的自动续订过程中。如果有人能指出有关如何在方法之间正式切换的任何文档,那就太好了 - 现在我已经设置了一个提醒,以便在 5 个月后再次运行该过程……

答案1

我可以看到你的流程有所改进。

为了避免证书替换问题,我使用了选项certonly。这会导致 certbot 将证书维护在目录中(对我来说是/etc/letsencrypt)。

我告诉 http 守护进程查找 中的证书/etc/letsencrypt/live/${site}/fullchain.pem和 中的密钥/etc/letsencrypt/live/${site}/privkey.pem,它们是更新程序保持更新的符号链接。完成更新只需重新启动守护进程即可。

相关内容