nginx - DNS 问题 : NXDOMAIN looking up A for www. exampl.com - 检查此域是否存在 DNS 记录

标签 nginx ssl dns certbot

我将通过 certbot 为 nginx 获取 SSL

但我遇到此错误“DNS 问题:NXDOMAIN 查找 www.example.com 的 A - 检查此域是否存在 DNS 记录”

但是我在 cloudflare 中有两条 A 记录:

example.com ip 万维网IP

我该怎么办?

最佳答案

当 Let's Encrypt Certbot 尝试验证您的域时,如果 certbot 从 IP 位置运行,则无法找到要匹配的域的 IP 地址(A 记录)。

可能的解决方案 1

检查 Cloudflare 代理 是否为 A 记录打开。如果它处于打开状态,请将其关闭。通常,这是通过单击 A 记录的 DNS 页面上的橙色云图标来完成的。

可能的解决方案 2

如果已经完成但仍然遇到错误,请将 A 记录的 TTL(生存时间) 字段编辑为 60。您的域 DNS 不会传播,这可能会加快该过程。

可能的解决方案 3

如果以上方法均无效,则 certbot 或从 certbot 到您域的 DNS 的连接有问题。在运行命令以发出 SSL 时添加 --debug-challenges。这可能会为您提供更多信息。

可能的解决方案 4

最后一个办法是尝试手动模式。您可以通过 http 质询而不是 dns 模式来验证域所有权。按照说明 here在 Certbot 文档中。

但是,您可能需要将颁发的证书关联到您的 nginx 配置。找到以下配置供您引用。获得证书后,您可以轻松地使用它来启动和运行您的服务/网站。

server {
        server_name example.com;
        location / {
                proxy_pass http://localhost:3000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


        listen 80;
        listen [::]:80;
        server_name example.com;
    return 404; # managed by Certbot

}

关于nginx - DNS 问题 : NXDOMAIN looking up A for www. exampl.com - 检查此域是否存在 DNS 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68605455/

相关文章:

nginx - 配置 nginx 重写所有路径上的哈希值

java - 检查 Java keystore 中的证书到期日期

powershell - Powershell 出现奇怪的 DNS 记录重复?

Docker 上的 java.net.UnknownHostException

linux - 为什么即使我没有运行 nginx,也可以使用 Nginx 欢迎页面?

php - 无法让 SSL 站点正确加载 JS + CSS。 throw 409(冲突)

php - 如何阻止客户端IP地址在Cloudflare/Docker/NGINX/LAMP站点中丢失?

ruby-on-rails - 尽管 nginx 处理重定向,我是否应该启用 Rails force_ssl?

ssl - 让我们加密。自动认证所有子域。 (*.domain.de)

copy - 如何使用 robocopy 复制不同域上的目录