网上有很多关于如何用letsencrypt创建和更新证书的教程,但是我想删除和停止更新我创建的证书(它只是为了测试而创建的)。我如何停止更新一个最初用letsencrypt
命令获得的证书(同时继续更新其他证书)?
我没有看到任何人在其他地方问这个问题的任何示例,也没有看到man letsencrypt
中的任何命令似乎这样做。
当前我正在使用以下cron作业续订证书:
30 2 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log
35 2 * * 1 /bin/systemctl reload nginx
6条答案
按热度按时间qjp7pelc1#
对于
certbot
,您可以简单地用途:这将从您的letsencrypt config目录中删除证书和所有相关文件。
wkftcu5l2#
操作员除了停止更新外,还希望删除证书,这在其他答案中已涵盖。但是,如果您希望保留证书,但停止未来的更新(例如,如果您已切换到不同的服务器,但正在等待所有DNS更改传播),您可以进入
/etc/letsencrypt/renewal
并将example.com.conf
重命名为example.com.conf.disabled
(或者任何其他非.conf
名称,或者甚至将其完全删除:您可以通过运行以下命令来验证是否已禁用该功能,如other answer中所述。
最后一些有suggested elsewhere,你可以简单地把
autorenew = False
放在/etc/letsencrypt/renewal/example.com.conf
文件的顶部,但这似乎不起作用。(我本来想回复那个帖子给予我的反馈,但他们的论坛在30天后切断评论。在查看之后,我意识到大部分信息都包含在other answer中,但我想澄清禁用续订而不删除或禁用证书本身的单独用例所需的步骤。
50pmv0ei3#
现在似乎没有正式“取消”续订的命令。但是,我发现this thread的一个建议似乎有效。
我尝试运行以下命令,
并且在
live/
、archive/
和renewal/
目录中只找到一个文件。我也试过跑步,
并且仅在
renewal/
目录的一个文件(即renewal/outdated.example.com.conf
)中找到对过期域的引用。我运行了
letsencrypt renew
,它在输出中列出了outdated.example.com
。然后,我创建了一个目录
_renewal_disabled
,并将renewal/outdated.example.com.conf
移动到该目录中。我再次运行
letsencrypt renew
,它在输出中不再列出outdated.example.com
。由此,我可以假定我已经“禁用”了证书的续订。
hrirmatl4#
已更新
请参见答案https://stackoverflow.com/a/47372583/1426788
较新版本的certbot支持通过CLI删除证书
旧答案
要从certbot续订中删除域,您可以删除或移动(更安全)错误的域证书文件,并运行
certbot renew --dry-run
以确保您已删除过期/无效的配置。如果这样做有效,您可以继续续订,而无需使用
--dry-run
进行未来更新。如果您运行的是
nginx
或其他服务器,请不要忘记编辑您的配置,以便它们不再指向无效或已删除的证书。最后,重新启动或重新加载您的服务器配置,您就完成了!
stszievb5#
下面提供了一个交互式菜单:
您也可以使用
certbot delete --cert-name example.com
以非交互方式删除证书,但这似乎是通过正常的授权过程,如果它不能授权您的域,则会失败。上面的交互式命令会删除所有内容,而不尝试授权。sdnqo3pr6#
以下是我的做法:
1.我跑了
并指出哪些域没有续订或有问题
1.我创建了一个
用于保存禁用(但未删除)域的目录
1.根据具体情况,我将所有不需要的***.conf文件从/etc/certbot/renewal移动到/etc/certbot/disabled**
1.然后我解决了所有特殊情况:
4A)默认的“catchall”服务器网站
4 B)邮件服务器
i)停止httpd
ii)发出certbot命令以生成证书
iii)启动httpd
iv)检查httpd
1.我在cron作业中添加了一个命令,以便每周(星期日)检查证书是否过期
这解决了我的问题。