开发者社区 问答 正文

验证ssl证书,提示DNS_PROBE_FINISHED_NXDOMAIN,怎么解决?

验证ssl证书,提示DNS_PROBE_FINISHED_NXDOMAIN,怎么解决?

展开
收起
邂逅青青 2024-07-28 10:06:50 5443 分享 版权
2 条回答
写回答
取消 提交回答
  • DNS_PROBE_FINISHED_NXDOMAIN 是一个浏览器错误,表示 域名无法解析(即 DNS 查询失败),而不是 SSL 证书本身的问题。换句话说,在尝试验证或建立 HTTPS 连接之前,系统甚至无法找到该域名对应的 IP 地址。

    一、错误含义

    • NXDOMAIN = Non-eXistent DOMAIN(域名不存在)
    • 浏览器/操作系统向 DNS 服务器查询你输入的域名,但 DNS 返回“查无此域”

    这意味着:

    • 域名拼写错误?
    • 域名未正确注册或已过期?
    • DNS 记录未配置或传播未完成?
    • 本地 DNS 缓存问题?

    二、排查与解决方法

    1. 检查域名拼写

    确认你在浏览器中输入的网址是否正确,例如:

    • https://exmaple.com (拼错)
    • https://example.com

    2. 使用 nslookupdig 检查 DNS 解析

    在命令行中运行:

    nslookup yourdomain.com
    # 或
    dig yourdomain.com A
    

    如果返回 ** server can't find yourdomain.com: NXDOMAIN,说明 DNS 确实无法解析。

    3. 检查域名是否已注册且未过期

    前往 whois.domaintools.com 或使用命令:

    whois yourdomain.com
    

    查看:

    • 注册状态是否为 "Active"
    • 是否已过期(Expiration Date)

    4. 检查 DNS 记录是否配置

    登录你的域名注册商或 DNS 托管平台(如 Cloudflare、阿里云、GoDaddy 等):

    • 确保存在一条 A 记录(或 CNAME)指向你的服务器 IP
    • 如果刚添加记录,可能需要等待 DNS 生效(通常几分钟到几小时)

    5. 清除本地 DNS 缓存

    不同系统的清除方式:

    • Windows:

      ipconfig /flushdns
      
    • macOS:

      sudo dscacheutil -flushcache
      sudo killall -HUP mDNSResponder
      
    • Linux(取决于发行版和是否启用 systemd-resolved):

      sudo systemd-resolve --flush-caches   # 较旧版本
      sudo resolvectl flush-caches          # 较新版本
      

    6. 更换 DNS 服务器测试

    临时将本地 DNS 改为公共 DNS(如 Google 或 Cloudflare):

    • Google DNS: 8.8.8.8 / 8.8.4.4
    • Cloudflare DNS: 1.1.1.1 / 1.0.0.1

    在 Windows/macOS 网络设置中修改,或在路由器中全局修改。

    然后再次访问网站,看是否仍报错。

    7. 检查 hosts 文件(开发环境常见)

    如果你在本地开发,可能误删或错误配置了 hosts 文件中的条目。

    • Windows: C:\Windows\System32\drivers\etc\hosts
    • macOS/Linux: /etc/hosts

    确保没有错误地屏蔽或重定向该域名。

    三、特别注意:SSL 证书不是根本原因

    即使你看到的是“SSL 证书验证失败”相关提示,只要底层是 NXDOMAIN,就说明 连接都还没建立,更谈不上 SSL 握手。所以先解决 DNS 问题,再处理证书。

    四、总结步骤流程图

    输入网址 → DNS 解析失败? → 是 → 检查拼写 / 注册状态 / DNS 记录 / 缓存 / DNS 服务器
                                 ↓ 否
                          建立 TCP 连接 → SSL 握手 → 验证证书
    
    2025-11-21 10:39:11
    赞同 展开评论
  • DNS_PROBE_FINISHED_NXDOMAIN解决方法4个方面:

    方法一:将DNS设置为114.114.114.114后,再清除了一下浏览器缓存,就好了!

    方法二:尝试连路由的情况下看看获取到的DNS、在路由里面设置当地的DNS,后看能不能用。或者重置路由后重新设置拨号(重置路由器请备份好宽带账号密码)。

    image.png
    参考文档https://blog.csdn.net/yetaodiao/article/details/126729613

    2024-07-29 08:59:46
    赞同 255 展开评论