Certbot:找不到有效的 IP 地址/找到无效的响应(来自 Google Cloud)

you*_*sen 2 google-cloud-platform google-cloud-dns certbot

我得到了这个 cmd:

sudo certbot --apache -d pushupteam.dev -d www.pushupteam.dev
Run Code Online (Sandbox Code Playgroud)

这是。我得到了什么:

Saving debug log to /var/log/letsencrypt/letsencrypt.log


 Plugins selected: Authenticator apache, Installer apache
    Obtaining a new certificate

Performing the following challenges:
http-01 challenge for pushupteam.dev
http-01 challenge for www.pushupteam.dev
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. www.pushupteam.dev (http-01): urn:ietf:params:acme:error:un
authorized :: The client lacks sufficient authorization :: Invalid response from http://www
.pushupteam.dev/.well-known/acme-challenge/j4gaJn6vX6tvEGu0HQagjT69Oc3R7l_VJ8CgaluAnLk [34.
89.161.114]: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>40
4 Not Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p", pushupteam.dev (http-01): urn:
ietf:params:acme:error:dns :: No valid IP addresses found for pushupteam.dev
IMPORTANT NOTES:
 - The following errors were reported by the server:
   Domain: pushupteam.dev
   Type:   None
   Detail: No valid IP addresses found for pushupteam.dev
 - The following errors were reported by the server:
   Domain: www.pushupteam.dev
   Type:   unauthorized
   Detail: Invalid response from
   http://www.pushupteam.dev/.well-known/acme-challenge/j4gaJn6vX6tvEGu0HQagjT69Oc3R7l_VJ8C
galuAnLk
   [34.89.161.114]: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML
   2.0//EN\">\n<html><head>\n<title>404 Not
   Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p"
   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.

 
Run Code Online (Sandbox Code Playgroud)

我有 Namecheap 的域名,我使用谷歌云 DNS。

问题是什么?我只对 ipv4 感兴趣,所以没有 AAAA 记录;

另外,我的 ufw 被禁用(像所有谷歌虚拟机一样)

编辑:

我的 etc/apache2/sites-available/srv.conf

<VirtualHost *:80>
 ServerAdmin admin@pushupteam.dev
 DocumentRoot /var/www/html/
 ServerName pushupteam.dev
 <Directory /var/www/html/>
Options +FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
 </Directory>
 ErrorLog /var/log/apache2/codeigniter-error_log
 CustomLog /var/log/apache2/codeigniter-access_log common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我使用 Ubuntu 18.04 LTS 和 Apache

编辑2:

pushupteam.dev. NS  3600    ns-cloud-b1.googledomains.com.
        ns-cloud-b2.googledomains.com.
        ns-cloud-b3.googledomains.com.
        ns-cloud-b4.googledomains.com.
pushupteam.dev. SOA 3600    ns-cloud-b1.googledomains.com.
 cloud-dns-hostmaster.google.com.
 1 21600 3600 259200 300
www.pushupteam.dev. A   60  34.89.161.114
Run Code Online (Sandbox Code Playgroud)

我应该重新配置我的 DNS 吗?

编辑3:

云dns配置

Pro*_*ton 6

我在尝试为在 DigitalOcean Droplet 中运行的应用程序设置 SSL 时遇到此错误。

当我运行命令时:

sudo certbot --nginx -d example.com -d www.example.com
Run Code Online (Sandbox Code Playgroud)

我收到错误:

No valid IP addresses found for www.example.com
Run Code Online (Sandbox Code Playgroud)

或者

During secondary validation: No valid IP addresses found for www.example.com
Run Code Online (Sandbox Code Playgroud)

这是我解决它的方法

确认您有一个A 记录指向您遇到问题的域名的服务器的公共/浮动/弹性/静态 IP 地址

记录截图

假设你想获得一个证书example.comwww.example.com,确保他们具有一个A记录指向到你的服务器的公钥/浮动/弹/静态IP地址

如果您确认它们设置正确并且仍然有错误,那么给它一些时间,比如 30 分钟到 1 小时,然后再试一次,或者最好仍然为符合条件的域运行证书生成,例如:

sudo certbot --nginx -d example.com
Run Code Online (Sandbox Code Playgroud)

一旦成功,请使用要用于扩展/修改它的所有域再次运行它:

sudo certbot --nginx -d example.com -d www.example.com
Run Code Online (Sandbox Code Playgroud)

资源:尝试获取 SSL 证书时找不到域的有效 IP 地址?

就这样。

我希望这有帮助


Joh*_*ley 1

为了运行这个命令:

sudo certbot --apache -d pushupteam.dev -d www.pushupteam.dev
Run Code Online (Sandbox Code Playgroud)

然后你需要在你的DNS服务器中添加一条DNS A资源记录:

pushupteam.dev A 3600 34.89.161.114
Run Code Online (Sandbox Code Playgroud)

注意:不要为 NS 记录设置短 TTL 值。通常这应该是一天(86,400 秒)。对于A记录,一小时(3600秒)是正常的。您可以将这些值设置为任何值。考虑性能、缓存超时和成本。

对于 Apache 配置文件:/etc/apache2/sites-available/srv.conf添加以下行:

ServerAlias www.pushupteam.dev
Run Code Online (Sandbox Code Playgroud)

并重新启动 Apache 服务器:

sudo systemctl restart apache2
Run Code Online (Sandbox Code Playgroud)

我假设您srv.conf通过运行类似于 的命令正确启用了a2ensite srv。通常配置文件名是主机名。

要仔细检查启用的虚拟主机,请运行以下命令:

apache2ctl -S
Run Code Online (Sandbox Code Playgroud)

确保主机名pushupteam.devwww.pushupteam.dev都响应正常的 Web 浏览器请求。