我在更新 letsencrypt 证书时遇到了问题。我使用 nginx 和 certbot 进行更新。
输出如下:
Attempting to renew cert from /etc/letsencrypt/renewal/example.com.conf
produced an unexpected error:
Failed authorization procedure. example.com (http-01): urn:acme:error:connection ::
The server could not connect to the client to verify the domain ::
Fetching http://example.com/.well-known/acme-challenge/AUStfngCwdGL8Hel2jR0jG4wLZZjXi-s7AypLNWrECo:
Timeout. Skipping.
. 最奇怪的是我的 nginx - 访问日志根本没有报告任何访问。
来自 letsencrypt 日志:
2017-09-18 18:27:34,331:DEBUG:certbot.plugins.webroot:Creating root challenges validation dir at /var/www/example/.well-known/acme-challenge
2017-09-18 18:27:34,334:DEBUG:certbot.plugins.webroot:Attempting to save validation to /var/www/example/.well-known/acme-challenge/AUStfngCwdGL8Hel2jR0jG4wLZZjXi-s7AypLNWrECo
2017-09-18 18:27:34,335:INFO:certbot.auth_handler:Waiting for verification...
如果我/var/www/example/.well-known/acme-challenge/AUStfngCwdGL8Hel2jR0jG4wLZZjXi-s7AypLNWrECo
手动创建并通过 Firefox 连接,我可以毫无问题地连接。此外,nginx-access 日志会被填满。在这两种情况下,Nginx 错误日志都是空的。
如果有帮助的话,我网站的 nginx 配置如下:
server {
listen 80;
listen [::]:80;
server_name example.com;
location /.well-known {
root /var/www/example;
}
location / {
return 301 https://$server_name$request_uri;
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
...
}
说实话,我真的不知道在哪里可以找到更多线索来判断到底发生了什么。你们有什么想法吗?
答案1
到目前为止,The server could not connect to the client to verify the domain ::
只有当我的 DNS 更改尚未传播到所有 DNS 服务器时,我才会收到类似的消息。
当您通过 Firefox 连接到 example.com/.well-known/ 时,您实际上是通过互联网连接的,还是该地址仅在您的网络上为人所知?
如果执行dig @8.8.8.8 example.com
,名称是否解析为正确的 IP 地址?