我在更新let的加密证书时遇到此错误:
“具有当前所选身份验证器的客户端不支持任何身份验证器 结合满足CA的挑战“
我该如何解决这个问题?
我运行的命令是这样的:
./letsencrypt-auto --apache --renew-by-default -d <domain name>
答案 0 :(得分:31)
这是因为由于disabled,Let的加密当前an identified security issue TLS-SNI-01挑战。
该官员在Let's Encrypt community website提供了一份工作清单如下:
如果您从该服务器上的目录中提供该域的文件,则可以运行以下命令:
sudo certbot --authenticator webroot --webroot-path <path to served directory> --installer nginx -d <domain>
如果您没有从服务器上的目录中提供文件,则可以在获取证书时暂时停止服务器,并在Certbot获取证书后重新启动它。这看起来像是:
sudo certbot --authenticator standalone --installer nginx -d <domain> --pre-hook "service nginx stop" --post-hook "service nginx start"
我们的加密刚发布Certbot 0.21.0,默认情况下使用 HTTP-01 质询类型而不是受损 TLS-SNI-01 apache httpd 和 nginx 。更新您的certbot以解决此问题。
答案 1 :(得分:15)
这对我有用:
certbot --authenticator standalone --installer apache -d <domain> \
--pre-hook "systemctl stop apache2" \
--post-hook "systemctl start apache2"
答案 2 :(得分:8)
运行(以root身份或使用sudo)
apache2ctl stop
letsencrypt --authenticator standalone --installer apache -d your.domain
选择“简单”(如果您只想要https,可以稍后整理)
letsencrypt代理应该为你重启apache。
答案 3 :(得分:3)
由于我使用的是apache,我使用了这种格式,
sudo ./certbot-auto --authenticator webroot --webroot-path <path-to-webroot> --installer apache -d <your-domain>
e.g。
sudo ./certbot-auto --authenticator webroot --webroot-path / var / www / html --installer apache -d mydomain.com
答案 4 :(得分:2)
运行命令并更改标记内的匹配&lt;&gt;
sudo certbot --authenticator webroot --webroot-path <path to served directory> --installer apache -d <domain>
答案 5 :(得分:0)
这适用于带有nginx的ubuntu
sudo apt-get install --only-upgrade certbot
certbot renew
答案 6 :(得分:0)
您可以尝试使用以下命令:
certbot --authenticator standalone --installer apache -d <domain>
systemctl rest apache2