Http-01 质询失败且连接被拒绝

Http-01 质询失败且连接被拒绝

我刚买了一台新服务器,想关注请访问 www.pretty-formula.com。

这是我添加的记录pretty-formula.com在此处输入图片描述

在服务器中,ufw status返回Status: inactive

放入相关文件后pretty-formula.com,出现此错误:

root@iZj6ce932fiflob4gudnajZ:~/nginx-certbot# ./init-letsencrypt.sh 
Existing data found for pretty-formula.com. Continue and replace existing certificate? (y/N) y
### Creating dummy certificate for pretty-formula.com ...
Generating a RSA private key
......+++++
.........+++++
writing new private key to '/etc/letsencrypt/live/pretty-formula.com/privkey.pem'
-----
failed to resize tty, using default size

### Starting nginx ...
Recreating nginx-certbot_nginx_1 ... done

### Deleting dummy certificate for pretty-formula.com ...
failed to resize tty, using default size

### Requesting Let's Encrypt certificate for pretty-formula.com ...
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for pretty-formula.com
http-01 challenge for www.pretty-formula.com
Using the webroot path /var/www/certbot for all unmatched domains.
Waiting for verification...
Challenge failed for domain pretty-formula.com
Challenge failed for domain www.pretty-formula.com
http-01 challenge for pretty-formula.com
http-01 challenge for www.pretty-formula.com
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: pretty-formula.com
   Type:   connection
   Detail: Fetching
   http://pretty-formula.com/.well-known/acme-challenge/-yXehDZroR0bFBusF3tEM9Ja9tD1XEXDmAiDnWgP6u8:
   Connection refused

   Domain: www.pretty-formula.com
   Type:   connection
   Detail: Fetching
   http://www.pretty-formula.com/.well-known/acme-challenge/KbU_eUlIBexvG1zqN-UKB7lhdiIc7MEOYar1w-vlPNs:
   Connection refused

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address. Additionally, please check that
   your computer has a publicly routable IP address and that no
   firewalls are preventing the server from communicating with the
   client. If you're using the webroot plugin, you should also verify
   that you are serving files from the webroot path you provided.

### Reloading nginx ...
cannot exec in a stopped state: unknown

这是新服务器和新域名,我不明白是什么阻止了。有人知道如何进一步调查吗?

答案1

你必须提高界定此类问题的技能。你应该按顺序检查,并逐一排除可能的原因。现在,你还没有检查完所有先决条件就急于参加 http-01 挑战。

让我们从其自身注释中发现的错误相关的建议开始,因为它已经提出了一种合适的方法。

要修复这些错误,请确保您输入的域名正确,并且该域名的 DNS A/AAAA 记录包含正确的 IP 地址。

dig这是 DNS 级别,使用或很容易测试nslookup,例如

$ dig pretty-formula.com

;; ANSWER SECTION:
pretty-formula.com.     379     IN      A       47.56.96.10

这是意料之中的事,因为这是屏幕截图中的 IP 地址。这不是 DNS 问题。

此外,请检查你的计算机是否具有可公开路由的 IP 地址

是的,47.56.96.10这是一个可公开路由的 IP 地址。它还会响应 ping,这只是从路由角度确定其是否可访问的一种方法。这不是路由问题。

并且没有防火墙阻止服务器与客户端通信。

服务器未监听 HTTP 端口80

$ nc 47.56.96.10 80 -vvv 
nc: connect to 47.56.96.10 port 80 (tcp) failed: Connection refused

现在,更难说出原因是什么。

  • 防火墙。您说防火墙未启用。您可以尝试从 Web 服务器本身访问它。如果您可以通过这种方式连接服务器,则可能是防火墙问题。例如

    curl http://47.56.96.10/
    curl http://127.0.0.1/
    
  • 如果你也无法从服务器本身连接,请确保 Nginx 已启动,并且已配置为监听端口80。你的 Web 服务器可能没有运行。

如果您正在使用 webroot 插件,您还应该验证您是否从您提供的 webroot 路径提供文件。

修复了上一个问题后,您可能会遇到有关 Web 服务器配置的新问题。如果 Web 根目录为/var/www/certbot,则必须确保http://pretty-formula.com/.well-known/acme-challenge/转到文件系统路径/var/www/certbot/.well-known/acme-challenge/

这有点奇怪,好像Existing data found for pretty-formula.com.这是一个新域名。这可能不是你第一次尝试。你有多种选择来处理这个问题:

  • 删除以前的配置/etc/letsencrypt/renewal/pretty-formula.com并重新开始或
  • 修改配置/etc/letsencrypt/renewal/pretty-formula.com以匹配你的 Nginx 配置,或者
  • 配置 Nginx 以匹配 Let's Encrypt 上的配置。

相关内容