如何停止续订letsencrypt/certbot证书?

Jac*_*son 14 ssl lets-encrypt certbot

有许多关于如何使用letsencrypt创建和续订证书的在线教程,但我想删除并停止更新我创建的证书(它仅用于测试目的).如何停止续订最初使用该letsencrypt命令获得的证书(同时仍继续续订其他证书)?

我没有看到任何人在其他任何地方提出这个问题的单个实例,也没有看到这样的命令man letsencrypt.

目前我正在使用以下cron作业续订证书:

30 2 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log
35 2 * * 1 /bin/systemctl reload nginx
Run Code Online (Sandbox Code Playgroud)

min*_*lis 30

有了certbot,你可以简单地使用:

certbot delete --cert-name mywebsite.com
Run Code Online (Sandbox Code Playgroud)

这将从letsencrypt配置目录中删除证书和所有相关文件.

  • 如果您使用“certbot delete”,您将获得一个交互式菜单 (9认同)
  • 这是2017年底的正确解决方案. (3认同)

Gar*_*son 10

除了停止续订之外,OP 还想删除证书,这已被其他答案所涵盖。但是,如果您想保留证书但停止未来的续订(例如,如果您已切换到不同的服务器,但正在等待所有 DNS 更改传播),您可以进入/etc/letsencrypte/renewal并重命名example.com.confexample.com.conf.disabled(或任何其他非.conf名称) ,甚至完全删除它:

/etc/letsencrypte/renewal/example.com.conf.disabled
Run Code Online (Sandbox Code Playgroud)

您可以通过运行以下命令来验证它是否已禁用,如其他答案中所述

sudo certbot renew --dry-run
Run Code Online (Sandbox Code Playgroud)

最后,有些人在其他地方建议可以简单地放在文件autorenew = False的顶部/etc/letsencrypte/renewal/example.com.conf,但这似乎不起作用。(我本来会回复那个帖子来提供我的反馈,但他们的论坛在 30 天后切断了评论。)

审查后,我意识到大部分信息都包含在另一个答案中,但我想澄清禁用续订而不删除或禁用证书本身的单独用例所需的步骤。

  • 选项 autorenew = False 对我来说非常有效。我将该选项放在配置文件 /etc/letsencrypt/renewal/mycert.conf 的 [renewalparams] 部分下,并且简单地跳过了更新。 (2认同)

Jac*_*son 9

目前似乎没有正式"取消"续订的命令.但是,我发现这个帖子的建议似乎有效.

我尝试运行以下命令,

sudo find /etc/letsencrypt/ -name '*outdated.example.com*'
Run Code Online (Sandbox Code Playgroud)

只有发现在每一个一个文件live/,archive/renewal/目录.

我也试过跑,

sudo grep -r /etc/letsencrypt/ -e 'outdated.example.com'
Run Code Online (Sandbox Code Playgroud)

并且只在renewal/目录中的一个文件中找到了对过时域的引用(这是renewal/outdated.example.com.conf).

我跑了letsencrypt renew,它outdated.example.com在输出中列出.

然后我创建了一个目录_renewal_disabled并移动renewal/outdated.example.com.conf到该目录.

我又跑letsencrypt renew了,它不再列outdated.example.com在输出中了.

由此我可以假设我已经"禁用"了证书的更新.


lfe*_*445 5

更新

请参阅答案/sf/answers/3316080841/

较新版本的certbot支持通过CLI删除证书

老答案

要从certbot续订中删除域,您可以删除或移动(更安全)坏域证书文件并运行certbot renew --dry-run以确保已删除过期/无效配置.

rm -rf /etc/letsencrypt/live/${BAD_DOMAIN}/
rm -f /etc/letsencrypt/renewal/${BAD_DOMAIN}.conf
certbot renew --dry-run
Run Code Online (Sandbox Code Playgroud)

如果可行,您可以继续续订,而无需--dry-run将来更新.

certbot renew
Run Code Online (Sandbox Code Playgroud)

如果您正在使用类似的nginx或其他服务器运行,请不要忘记编辑您的配置,以便它们不再指向无效或已删除的证书.

最后,重新启动或重新加载服务器配置,你就完成了!