四种结果,四种不同的后续处理
ERR_NAME_NOT_RESOLVED:含义与修复方法
Chrome 会在“无法访问此网站”的标题下显示 ERR_NAME_NOT_RESOLVED,旁边通常还有一行“找不到服务器的 IP 地址”。这个代码是 Chrome 对内部网络错误 -105 的标签。它的意思是:浏览器请求某个主机名对应的地址,却没有得到可用的结果,所以根本没有尝试与网站建立连接。
所以这是 DNS 方面的症状,而不是网站服务器的症状。你要做的是找出到底是哪一层放弃了:浏览器、操作系统、VPN、路由器、运营商的解析器,还是域名自己的记录。
这个错误代码到底说明了什么
像 www.example.com 这样的主机名,必须先变成 192.0.2.10 这样的地址,页面才能加载。这一步失败时,Chrome 会直接报告失败,而不是去猜。-105 只是 Chromium 网络代码给“名称无法解析”分配的编号。这个标签的范围很广:它涵盖“域名不存在”的回答、超时和被拒绝的查询。
它与另外两种 DNS 提示有何不同
有三种提示覆盖了大部分情况。它们是近亲:查询失败后,Chrome 往往会再做一次诊断探测,你看到哪条提示取决于探测的结论、平台和浏览器版本。请把这张表当作参考。
| 提示 | 通常出现在哪里 | 指向什么 |
|---|---|---|
ERR_NAME_NOT_RESOLVED | Android 版 Chrome、电脑版 Chrome、Chromium 内核浏览器 | 查询失败了。原因没有缩小范围:可能是超时、解析器有问题,或者域名不存在。 |
DNS_PROBE_FINISHED_NXDOMAIN | 电脑版 Chrome 和 Edge,尤其是在 Windows 上 | DNS 服务器回答说域名不存在,探测也认同这一点。参见修复 Windows 上的 NXDOMAIN 探测错误。 |
| “找不到服务器的 DNS 地址” | Chrome 在同一个错误页面上的通俗标题 | 同一类故障的通俗说法。参见服务器 DNS 地址指南。 |
想了解“域名不存在”这个回答在网络传输中的含义,请阅读 NXDOMAIN 详解。错误代码本身不会说明是谁的问题,所以要逐项测试,先问成本最低的问题。
第一步:这个域名在别处能解析吗?
在改动任何设置之前,先换一台设备或一个网络,打开同一个地址。用手机的移动数据就很合适。如果网站在那边能打开,问题就出在你自己的这条路径上。如果到处都打不开,多半是域名自身的 DNS 有问题。
你也可以从自己的网络之外查询这个域名。把主机名粘贴到 DNS 查询工具中,看看是否返回地址记录。该工具要求输入完整的主机名,例如 www.example.com,会拒绝 IP 地址和 intranet 这样的单标签名称。没有 A 或 AAAA 记录,说明问题出在域名;如果返回了地址而 Chrome 仍然失败,说明问题在本地。
在电脑版 Chrome 上修复
按从影响最小到影响最大的顺序逐项处理。每做完一项就测试一次页面,这样你就知道哪一步起了作用。
在无痕窗口中重试
无痕模式启动时不带大部分扩展程序。如果网站在那里能打开,说明广告拦截器、隐私过滤器或 VPN 插件在干扰;请逐个停用扩展程序。
清除 Chrome 的主机缓存
打开
chrome://net-internals/#dns,点击 Clear host cache(清除主机缓存)按钮。Chrome 会保留自己的一份短期查询记录,与操作系统的缓存相互独立。如果你的版本里没有这个按钮,重启 Chrome 也能清除同一份缓存。刷新操作系统缓存
在 Windows 上,于终端中运行
ipconfig /flushdns。在 macOS 上,命令取决于系统版本;常见的是先运行sudo dscacheutil -flushcache,再运行sudo killall -HUP mDNSResponder。DNS 缓存刷新指南列出了各种变体,包括 Linux。检查 hosts 文件
hosts 文件中一条过期的记录会完全覆盖 DNS。在 Windows 的
C:\Windows\System32\drivers\etc\hosts或 macOS 和 Linux 的/etc/hosts中查找出问题的主机名,删除或注释掉任何不是你有意添加的行。关闭 VPN、代理和过滤软件
VPN 客户端和安全软件常常通过它们自己的解析器转发 DNS。断开连接后重新测试。
换一个 DNS 服务器
如果问题出在路由器或运营商的解析器上,可以把网卡设置为公共解析器,例如
1.1.1.1或8.8.8.8,然后重新测试。
Chrome 在“设置”、“隐私和安全”、“安全”下还有一个 使用安全 DNS 选项。开启后,Chrome 可以绕过系统解析器。如果 Chrome 失败而终端查询成功,切换这个选项就能把两条路径区分开。
对比系统解析器和指定解析器的回答
这些命令会向两个解析器提出同一个问题。请把域名换成出问题的那个。
nslookup www.example.com
nslookup www.example.com 1.1.1.1
# macOS or Linux, if dig is installed
dig www.example.com A +short
dig @1.1.1.1 www.example.com A +short如果默认解析器说域名不存在,而公共解析器返回了 203.0.113.25 这样的地址,说明你的默认解析器缓存过期或在做过滤。如果两者都失败,说明域名的记录缺失,或者它的域名服务器没有响应。nslookup 工具可以从你的网络之外给出第三方的结果。
在 Android 上修复
ERR_NAME_NOT_RESOLVED 在 Android 版 Chrome 中很常见,因为手机会在 Wi-Fi 和移动数据之间切换。菜单名称因厂商而异,下面的路径只是典型情况。
- 切换网络。 关闭 Wi-Fi,用移动数据加载页面,然后反过来再试一次。如果网站在一个网络上正常、在另一个网络上失败,问题出在那个网络的解析器或路由器上,而不是手机。
- 开关一次飞行模式,保持十秒。
- 检查私人 DNS(Private DNS)。 它通常在“设置”、“网络和互联网”、“私人 DNS”下,不过有些手机把它放在“连接”或“更多连接设置”里。如果它被设置成拼写错误或已失效的主机名,所有查询都会失败。请改成“自动”或“关闭”来测试。
- 忘记并重新加入 Wi-Fi 网络。 这会清除保存的各网络专属设置,例如手动填写的 DNS。
- 关闭任何 VPN 或“DNS 更换”类应用, 并检查 Chrome 自身在“设置”、“隐私和安全”下的 使用安全 DNS 设置。
- 如果只有 Chrome 出问题,在 Android 的应用设置中清除 Chrome 的缓存。
我们的 Android 专题指南如何在 Android 上刷新 DNS解释了为什么大多数手机上没有单独的“刷新”按钮,以及该怎么做。
在 iPhone 和 iPad 上修复
iOS 上的 Chrome 基于苹果的网页引擎,而不是电脑版 Chrome 的网络栈,因此错误页面及其措辞可能与电脑上的不一致。如果 Chrome 显示类似 DNS 的失败,而 Safari 对同一个地址显示“Safari 浏览器无法找到服务器”,那就是同一次失败的查询穿了两层外壳。如果 Safari 能打开网站而 Chrome 不能,问题就在 Chrome 内部。
- 逐个开关 Wi-Fi 和蜂窝网络,然后开启飞行模式约十秒。
- 查看 Wi-Fi 的 DNS 设置。 打开“设置”、“无线局域网”,点按所连网络旁的信息按钮,找到“配置 DNS”。指向失效服务器的手动条目会让该网络上的所有查询都失败。请切换为“自动”,或填入可用的解析器,例如
1.1.1.1。 - 检查 iCloud 专用代理(iCloud Private Relay)。 订阅 iCloud+ 后,它位于“设置”、你的姓名、iCloud、“专用代理”下。为当前网络关闭它,是排除这一因素的快速办法。
- 断开任何 VPN,并在“设置”、“通用”、“VPN 与设备管理”下查找你不认识的 DNS 或配置描述文件。学校、雇主或过滤类应用提供的描述文件可以控制 DNS。
- 最后一步才重置网络设置:“设置”、“通用”、“传输或还原 iPhone”、“还原”、“还原网络设置”。这会清除保存的 Wi-Fi 密码、蜂窝网络设置和 VPN 配置,所以请先记下它们。
根据症状选择下一步
| 你观察到的现象 | 最可能的层 | 下一步 |
|---|---|---|
| 所有设备和网络上都失败 | 域名的 DNS 记录或域名服务器 | 用 DNS 查询工具查询;如果没有返回地址,请联系网站所有者。 |
| Wi-Fi 上失败,移动数据上正常 | 路由器或运营商的解析器 | 重启路由器,在设备或路由器上设置公共 DNS 服务器。 |
| 同一设备上换个浏览器就正常 | Chrome 本身:缓存、扩展程序、安全 DNS | 清除主机缓存,测试无痕窗口,切换“使用安全 DNS”。 |
| 关闭 VPN 后正常 | VPN 或过滤型解析器 | 检查 VPN 的 DNS 和分流设置。 |
| 只在切换 Wi-Fi 网络后失败 | 保存的网络设置或私人 DNS | 忘记该网络,重置私人 DNS,检查手动 DNS 条目。 |
| 只有一个主机名失败,其他都能加载 | 缺少记录、拼写错误或 hosts 文件条目 | 检查拼写、hosts 文件和域名的记录。 |
| 域名刚注册或迁移后就出现 | 尚未发布,或存在否定缓存 | 等待后再检查;参见下面常见问题中关于时间的回答。 |
原因在域名一侧的情况
如果本地的任何改动都不能改变结果,就去看域名本身。常见的原因有:注册已过期;域名服务器在注册商处已更改,但在新的托管商那里还没有配置;或者裸域名能打开,却缺少 www 记录。网站在 example.com 能打开、在 www.example.com 打不开,是典型的例子:它们是两条各自独立的 DNS 记录。
核心要点
ERR_NAME_NOT_RESOLVED 指出的是失败的那一步,而不是责任方。先在另一个网络上测试同一个主机名,再由内向外排查:Chrome 的缓存、系统、VPN、路由器,最后是域名的记录。
需要查看某个域名的公网 DNS 地址?使用 Domain IP Lookup 工具。
常见问题
相关阅读
四种结果,四种不同的后续处理
修复 Windows 上的 DNS_PROBE_FINISHED_NXDOMAIN:找出出问题的那一层
按顺序排查浏览器、Windows、路由器和运营商,附上具体命令,修复 Windows 上 Chrome 的 DNS_PROBE_FINISHED_NXDOMAIN 错误。
两种截然不同的使用时刻
dig / nslookup
完整协议细节,可脚本化,可离线使用
网页版工具
无需配置,支持批量查询,可分享
修复“Server DNS Address Could Not Be Found”
我陪几百人处理过这个错误。大多数修复只需两分钟,关键在于弄清问题出在网站、你的网络,还是仅仅出在你的机器上。
四种结果,四种不同的后续处理
NXDOMAIN 详解:含义、成因与修复方法
NXDOMAIN 表示 DNS 找不到这个名称。了解常见成因、逐步修复方法,以及负缓存和 DNSSEC 的工作原理。