网上有很多关于如何使用letsencrypt创建和续订证书的教程,但我想删除并停止续订我创建的证书(它仅用于测试目的)。如何停止续订最初使用letsencrypt
命令获得的证书(同时仍继续续订其他证书)?
我没有看到任何人在其他任何地方提出这个问题的单个实例,也没有man letsencrypt
中似乎这样做的命令。
目前我正在使用以下cron作业续订证书:
30 2 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log
35 2 * * 1 /bin/systemctl reload nginx
答案 0 :(得分:28)
使用certbot
,您只需使用:
certbot delete --cert-name mywebsite.com
这将从letsencrypt配置目录中删除证书和所有相关文件。
答案 1 :(得分:8)
此时似乎没有正式“取消”续订的命令。但是,我发现this thread的建议似乎有效。
我尝试运行以下命令,
{ _id: 1, name: 'a' }
{ _id: 2, name: 'ab' }
{ _id: 3, name: 'abc' }
{ _id: 4, name: 'acde' }
并且只在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
。
由此我可以假设我“禁用”了证书的更新。
答案 2 :(得分:5)
请参阅答案https://stackoverflow.com/a/47372583/1426788
较新版本的certbot supports deleting certs via the 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
或其他服务器运行,请不要忘记编辑您的配置,以便他们不再指向无效或已删除的证书。
最后,重新启动或重新加载服务器配置,然后你就完成了!
答案 3 :(得分:0)
OP除了停止续订外,还希望删除证书,其他答案已涵盖了该证书。但是,如果您想保留证书但停止将来的续订(例如,如果您已切换到其他服务器,但正在等待所有DNS更改传播),则可以进入/etc/letsencrypte/renewal
并重命名{{1 }}到example.com.conf
(或其他任何非example.com.conf.disabled
名称,甚至将其完全删除:
.conf
如other answer中所述,您可以通过运行以下命令来确认它已被禁用。
/etc/letsencrypte/renewal/example.com.conf.disabled
几乎有些人suggested elsewhere可以简单地将sudo certbot renew --dry-run
放在autorenew = False
文件的顶部,但这似乎不起作用。 (我会回复该帖子以提供我的反馈,但他们的论坛在30天后会删除评论。)
经过审查,我意识到other answer中包含了很多此类信息,但是我想澄清禁用续订而不删除或禁用证书本身的单独用例所需的步骤。
答案 4 :(得分:0)
下面提供了一个交互式菜单:
certbot delete
您也可以使用 certbot delete --cert-name example.com
以非交互方式删除证书,但这似乎会通过正常的授权过程,如果无法授权您的域,则会失败。上面的交互式命令会在不尝试授权的情况下删除所有内容。