Let's Encrypt证书更新失败。

3

我正在使用Debian Jessie系统,Certbot版本为0.9.3-1~bpo8+2。自从两天前开始,当我为我的网站更新证书时,就一直出现这个错误。

Could not bind TCP port 443 because it is already in use by another process on
this system (such as a web server). Please stop the program in question and then
try again.
-------------------------------------------------------------------------------
Attempting to renew cert from /etc/letsencrypt/renewal/www.testsite.com.conf produced an unexpected error: object of type 'NoneType' has no len(). Skipping.

我该怎么办?我对Letsencrypt不太熟悉。请问有人可以帮我解决吗?


Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎不属于编程或开发范畴。请参阅帮助中心中的我可以在这里提问哪些话题。也许Server FaultWebmaster Stack Exchange更适合您的提问。 - jww
3个回答

9

我还没有找到一种实现“零停机”的方法,但你可以使用钩子自动停止/启动nginx,以便你可以使用cron处理续订:

certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"

应该是被接受的答案。手动停止服务器并重新启动会使自动更新过程失效。这个方法非常有效。谢谢。 - Arshad Mehmood
完全不起作用 - Tejas Tank

4

只需停止您的Web服务器,然后再次运行相同的操作。如果您正在使用nginx,请使用sudo service nginx stop


完全不起作用 - Tejas Tank

-1

我是apache2的爱好者,这里有解决方案

certbot renew --cert-name www.snippetbucket.com --pre-hook "service apache2 stop" --post-hook "service apache2 start"

更简单且百分之百有效。

现在,在Apache托管服务器上使用所有域引用的自动化过程。

certbot renew --pre-hook "service apache2 stop" --post-hook "service apache2 start"

建议:如果自动化无法正常工作,请根据服务器低流量提前安排更新进程。


完全不工作 - Federico Schiocchet
@FedericoSchiocchet,你没有分享任何尝试或原因,只是直接写了“不起作用”,这样别人怎么能帮助你! - Tejas Tank

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接