31

网上有很多关于如何使用letsencrypt创建和更新证书的教程,但我想删除并停止更新我创建的证书(它只是为了测试目的而创建的)。如何停止续订最初使用该letsencrypt命令获得的证书(同时仍继续续订其他证书)?

我没有看到任何人在其他任何地方提出这个问题,也没有一个命令man letsencrypt似乎可以做到这一点。

目前我正在使用以下 cron 作业更新证书:

30 2 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log
35 2 * * 1 /bin/systemctl reload nginx
4

5 回答 5

60

使用certbot,您可以简单地使用:

certbot delete --cert-name mywebsite.com

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

于 2017-11-19T00:35:42.073 回答
15

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

/etc/letsencrypt/renewal/example.com.conf.disabled

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

sudo certbot renew --dry-run

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

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

于 2019-12-21T18:04:03.107 回答
10

目前似乎没有正式“取消”续订的命令。但是,我从这个线程中发现了一个似乎可行的建议。

我尝试运行以下命令,

sudo find /etc/letsencrypt/ -name '*outdated.example.com*'

并且在每个live/,archive/renewal/目录中只找到一个文件。

我也试过跑步,

sudo grep -r /etc/letsencrypt/ -e 'outdated.example.com'

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

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

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

letsencrypt renew再次运行,它不再列outdated.example.com在输出中。

由此我可以假设我已经“禁用”了证书的更新。

于 2016-10-14T19:29:20.203 回答
5

更新

请参阅答案https://stackoverflow.com/a/47372583/1426788

较新版本的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

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

certbot renew

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

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

于 2017-04-27T22:51:11.060 回答
1

下面提供了一个交互式菜单:

certbot delete

您也可以使用 以非交互方式删除证书certbot delete --cert-name example.com,但这似乎要通过正常的授权过程,如果无法授权您的域,则会失败。上面的交互式命令会在不尝试授权的情况下删除所有内容。

于 2021-03-01T12:36:18.260 回答