续订 letsencrypt 证书 SSL - AMI Linux Amazon

Renew letsencrypt certificate SSL - AMI Linux Amazon

我尝试使用 AMI Linux Amazon 在 EC2 上更新 SSL 证书,但我收到以下错误:

[ec2-user@ip-xxx-xx-xx-xx letsencrypt]$ ./letsencrypt-auto renew

Error: couldn't get currently installed version for /home/ec2-user/.local/share/letsencrypt/bin/letsencrypt: 
Traceback (most recent call last):
File "/home/ec2-user/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module>
from certbot.main import main
File "/home/ec2-user/.local/share/letsencrypt/local/lib/python2.7/dist-packages/certbot/main.py", line 12, in <module>
import zope.component
File "/home/ec2-user/.local/share/letsencrypt/local/lib/python2.7/dist-packages/zope/component/__init__.py", line 16, in <module>
from zope.interface import Interface
ImportError: No module named interface

知道如何解决吗?

Someone had the same problem as you,查看 Let's Encrypt 的社区论坛。

该线程的一个解决方案是:

Basically, I reinstalled it from scratch:

cd $HOME/.local/share
rm -fr letsencrypt
unset PYTHON_INSTALL_LAYOUT
./certbot-auto -d DOMAIN certonly --webroot -w DOCUMENT_ROOT --debug

我在 Amazon Linux 实例上遇到了同样的问题,该实例最初是使用 cert-bot 设置的并且运行良好。我试图通过关注另一个 post 来解决其他一些问题,这也是我来的结果

最后,我不得不做以下事情

rm -rf /opt/eff.org/*

这可能会失败,但会设置一个干净的虚拟环境

./certbot-auto --debug

cd /opt/eff.org/certbot/venv/lib64/python2.7

mv site-packages site-packages.sav

ln -s dist-packages/ site-packages

您现在可以再次运行certbot-auto

./certbot-auto --debug