如果你用搜索引擎查过东西,或者访问过网站,那你很可能遇到过 NXDOMAIN DNS error 响应。通常,此错误显示在 无法访问此网站 or 此网页无法访问 message as “DNS_PROBE_FINISHED_NXDOMAIN” 当 Google 无法加载页面时。
这个错误通常还会伴随一条消息,说明网络浏览器找不到该 IP 地址。这可能由多种原因引起,从过期的域名到 DNS 配置错误都有可能。
对网站所有者来说,这是个严重问题。你每分钟都在失去客户和用户。更糟的是,搜索引擎会检测到网站响应缓慢或出现故障,这会降低你的网站在搜索结果中的排名,减少用户找到你的机会。
最后,NXDOMAIN 错误也可能由 NXDOMAIN 攻击引发,这对网站所有者来说更加严重。下面我们来看看 NXDOMAIN 响应是什么、为什么会出现,以及如何修复和防止它。
NXDOMAIN 错误是什么意思?
NXDOMAIN 或非存在域错误是一条 DNS 错误消息,当请求的域名系统无法将网站的 URL 解析为 IP 地址时,客户端会收到此消息。这个问题导致网络浏览器无法访问该网站,意味着如其名称所示,该域不存在。
这个错误通常显示为 DNS_PROBE_FINISHED_NXDOMAIN,浏览器会显示一个难过的表情或云形思维气泡。虽然这个错误偶尔会出现,但如果你的网站频繁遇到它,可能预示着网络问题,甚至是安全隐患。
NXDOMAIN 错误为什么会出现?
如我们之前所说,NXDOMAIN DNS 错误发生的原因有很多。从域名过期、配置不当,到安全问题,都可能导致这个错误。让我们看看网站出现 NXDOMAIN 错误的主要原因。
域名已过期或未注册
导致 NXDOMAIN DNS 错误的一个常见原因是目标网站无法访问,通常由于域名未注册或已过期。
您可以通过互联网名称与数字地址分配机构(ICANN)查询工具检查域名是否已过期或未注册。只需输入网站的 URL,然后查看它是否在 ICANN 数据库中处于活跃状态。
域名配置有误
除了未注册或已过期的域名,网站出现 NXDOMAIN 错误响应的另一个原因是域名未指向任何 IP 地址,或指向了错误的地址。你可以检查域名的 DNS 记录,确保域名指向正确的地址。
Security Issues
如我之前提到的,持续出现 NXDOMAIN DNS 错误可能表明存在安全漏洞和网络问题。一个可能的安全隐患是恶意软件信标,它会通知网络犯罪分子他们已成功感染了系统。这是即将发生 DDoS 攻击的早期信号。
此外,如果您的本地 DNS 服务出现多个来自同一客户端的 NXDOMAIN 响应,这可能表明存在另一个安全问题,可能导致敏感数据泄露。
用户特定问题
最后,NXDOMAIN DNS 错误可能只影响某个用户或少数几个用户,而不是你的网站本身出了问题。这个问题也可能源于互联网服务提供商或浏览器本身。
如何解决 NXDOMAIN 错误
如上所述,网站出现 NXDOMAIN 错误响应的原因有很多。现在让我们看看如何解决导致这个错误的问题。
判断问题是特定用户遇到的还是普遍存在的
修复 NXDOMAIN DNS 错误的第一步是确认这个问题是影响所有用户,还是仅限于你的设备和浏览器。你可以使用代理网站(如 proxysite.com 或 hide.me)输入你网站的 URL,然后在几个不同的服务器位置进行测试。
如果通过代理服务器网站访问你的网站时没有出现该错误,那么问题很可能来自你的设备或网络浏览器。
修复过期或未注册的域名
如果您的域名未激活,可能有几个原因。如果您刚购买了域名,必须在15天内验证所有权,否则ICANN可能会暂停该域名。如果您的域名已过期,有45天的宽限期可以续费,不需要支付额外费用。
如果45天期限已过,你有30天的时间续费域名,但需要支付额外费用。超过这个期限后,域名将进入待删除状态,你需要等待后才能重新购买。
正确配置你的域名
如果你通过 WHOIS 等网站查看了域名的 DNS 记录,发现域名配置有误,需要检查并解决以下几个问题。
首先,如果你的域名还没有指向网站托管商提供的命名服务器,你需要联系域名注册商,让他们把域名指向正确的命名服务器。
导致 NXDOMAIN DNS 错误的另一个常见原因是子域配置不正确。你可以使用已有的域名来设置独立网站,而无需购买新域名。
子域名是指在已有的主域名(如 exampledomain.com)基础上创建的新域名,例如 blog.exampledomain.com 或 forum.exampledomain.com。但如果子域名配置有误(比如地址拼写错误等),子域名网站就无法正常访问。
你可以通过网站托管商提供的 DNS 标签页查看域名和子域名设置,或者使用 whatsmydns.net 查询,它会显示你的域名、子域名和 A 记录的完整报告。
如果一切都没问题,可能就是需要等一段时间,让 DNS 的传播生效。
不过,这些问题通常出现在你刚刚搭建网站的初期阶段。那么,现在假设你的网站已经运行良好了一段时间,突然开始返回NXDOMAIN错误。这时候情况就不同了。
导致 NXDOMAIN DNS 错误的一个常见原因是网站托管商的防护模式处于激活状态,导致网站无法访问。你可以通过 WHOIS 查询检查这一点。如果防护模式已启用,请将其关闭,然后检查错误是否已解决。
解决安全问题
NXDOMAIN 攻击与其他类型的网络攻击一样,通常分为两类:复杂攻击和简单攻击。简单的 NXDOMAIN 攻击通常很容易识别,因为它们有明显特征,比如来自同一来源的不存在域名的请求数量异常高。
不过,即使是这类攻击也很难单独应对,更不用说复杂的 NXDOMAIN 攻击了。复杂攻击利用被感染的无辜用户设备发起攻击,这使得检测它们变得困难得多。
为了帮助你监控和防止这些攻击,你可以使用 DNS 安全解决方案,这些方案由 Cloudflare 和 Cisco 等知名云服务商提供。
这些解决方案不仅提供必要的安全保护,还通过负载均衡来管理 DNS,这样突发流量可以得到妥善处理,不会导致 NXDOMAIN 响应。
解决用户特定的问题
如果你已经检查了上述所有问题,并确定网站遇到的错误仅限于你的设备,而不是所有人都能遇到,那么你应该开始排查你的设备、网络浏览器、互联网服务商等问题。
当问题仅限于你的设备时,导致 NXDOMAIN 响应的原因有很多,下面是适用于所有情况的解决方案:
清空 DNS 缓存
解决 NXDOMAIN 错误最常见的方法之一是清空 DNS 缓存。每次你访问一个网页时,网络浏览器都会存储该 IP 地址和 DNS 的临时缓存。这有助于加快你下次访问该网页时的页面加载速度。
这本身没问题,但当大量损坏或过期的 DNS 缓存文件被存储时,你的操作系统就会开始出现错误,甚至可能导致安全漏洞。这可能会引发 NXDOMAIN 错误。
你可以查看我们的详细指南: 如何清空 DNS,其中我们为所有操作系统说明了该过程,以及如何清空 Google Chrome 的 DNS 缓存(这与系统的 DNS 缓存是分开的)。
更改你的 DNS 服务器
通常,你的 DNS 服务器地址由你的互联网服务商决定。不过,这些 DNS 服务器在速度或安全性方面不一定是最好的。
如果你的互联网服务商使用的 DNS 服务器存在问题,可能会导致 NXDOMAIN 错误。如果你想使用更快、更可靠的 DNS 服务器,可以使用 Google、OpenDNS 和 Cloudflare 提供的任何流行公共 DNS 服务器。按照以下步骤更改你的 DNS 服务器:
对于 Windows 用户:
- 点击「开始」按钮并搜索「控制面板」。打开控制面板,然后点击「网络和互联网」,再点击「网络和共享中心」。
- 在窗口左侧,你会看到「更改适配器设置」;点击它。
- 右键点击你当前的连接并选择「属性」。
- 从列表中找到「互联网协议版本 4(TCP/IP)」或「互联网协议版本 6(TCP/IPv6)」,然后点击其中一个。完成后,窗口底部的「属性」按钮会变成蓝色。点击它。
- 在窗口底部,你会看到「使用以下 DNS 服务器地址」。点击其旁边的圆形按钮以启用该选项。
- 输入以下地址:
- 首选 DNS 服务器:
1.1.1.1 (IPv4)
2606:4700:4700::1111 (IPv6) - 备用 DNS 服务器:
1.0.0.1 (IPv4)
2606:4700:4700::1001 (IPv6)
- 首选 DNS 服务器:
- 输入新的 DNS 地址后,在浏览器中打开新标签页,检查 NXDOMAIN 错误是否已解决。
For macOS:
- 打开系统偏好设置,进入网络设置。
- 点击当前网络连接,然后点击高级按钮。
- 在窗口顶部的列表中找到 DNS,然后点击加号。
- 输入以下地址:
- 首选 DNS 服务器:
1.1.1.1 (IPv4)
2606:4700:4700::1111 (IPv6) - 备用 DNS 服务器:
1.0.0.1 (IPv4)
2606:4700:4700::1001 (IPv6)
- 首选 DNS 服务器:
- 输入新的 DNS 地址后,在浏览器中打开新标签页,检查 NXDOMAIN 错误是否已解决。
For Linux:
- 使用以下命令检查当前的 DNS 服务器:
cat /etc/resolv.conf
- 要编辑 DNS 设置,输入以下命令:
sudo nano /etc/resolv.conf
- 运行此命令后,nano 编辑器会打开一个文件。输入以下命令来修改 DNS 地址:
nameserver 1.1.1.1
如果你运行的是最新版本的 Linux,可以按以下步骤修改 DNS 地址:
- 打开终端窗口,输入以下命令:
cd /etc/netplan
- 完成后,输入 ls 来列出配置文件。然后可以使用以下命令编辑 Ubuntu DNS 服务器:
sudo nano filenamehere.yaml
- 使用以下数字作为新的 DNS:
- 首选 DNS 服务器:
1.1.1.1 (IPv4)
2606:4700:4700::1111 (IPv6) - 备用 DNS 服务器:
1.0.0.1 (IPv4)
2606:4700:4700::1001 (IPv6)
- 首选 DNS 服务器:
- 输入完成后,同时按 Control 和 O 键保存,按 Control 和 X 键退出。要保存更改,使用以下命令:
sudo netplan apply
- 输入新的 DNS 地址后,在浏览器中打开新标签页,检查 NXDOMAIN 错误是否已解决。
检查本地主机文件
访问网站的核心过程之一是通过设备上的本地主机文件完成的。该文件的作用是每次访问网站时将域名与其 IP 地址相匹配。
但本地主机文件可能会无意中将特定域名或 IP 地址标记为无法访问,或用户可能在此处误操作,导致 NXDOMAIN 错误。
For Windows:
- 点击开始,输入记事本,然后选择以管理员身份运行。
- 在窗口顶部的菜单中,点击文件,然后选择打开。
- 在新窗口的右下角,将筛选器从文本文档 (*.txt) 更改为所有文件,在文件名栏中输入以下路径,然后点击打开:
C:\Windows\System32\drivers\etc\
- 之后,你应该会看到一个名为 hosts 的文件。双击打开该文件。
- 文件会打开,显示 IP 地址和域名的信息。在文件的最底部,你会看到一个黑名单网站列表。如果你的网站也列在 ::1 localhost 行下的网站中,请将其删除。
- 在浏览器中打开新标签页,检查 NXDOMAIN 错误是否已解决。
For macOS:
- 点击 Dock 中的启动台图标,在搜索框中输入终端以打开终端。
- 输入以下命令:
sudo nano /private/etc/hosts
- 这将打开 hosts 文件。如果你的网站列在 ::1 行下的网站中,请将其删除。
- 删除完成后,同时按下 Command 和 O 键覆盖文件,然后按 Return 键保存更改。
- 同时按下 Command 和 X 键关闭 hosts 文件,检查 NXDOMAIN 错误是否已解决。
For Linux:
- 打开终端窗口。
- 输入以下命令:
sudo nano /etc/hosts
- 如果你的网站列在 ::1 行下的网站列表中,请将其删除。
- 同时按下 Control 和 X 键,当系统询问是否保存更改时,输入 y。
禁用防病毒软件或 VPN
虽然防病毒软件和 VPN 是保护设备和网络安全的有力工具,但它们可能会阻止完全安全的网站。这可能导致访问该网站时出现 NXDOMAIN 错误。
禁用第三方防病毒软件的方式因应用而异,你需要查找特定防病毒软件的指南或联系防病毒软件支持团队获取更多信息。
对于 Windows 内置的实时 Windows Defender 防病毒保护,请按以下步骤操作:
- 同时按下 Windows 和 I 键打开 Windows 设置。
- 点击「更新和安全」,然后从左侧列表中选择「Windows 安全」。
- 从右侧列表中选择「病毒和威胁防护」。在新窗口中找到「病毒和威胁防护设置」。在「病毒和威胁防护设置」下,点击「管理设置」。
- 关闭实时保护。
关闭第三方防病毒软件和 Windows 实时保护后,检查 NXDOMAIN 错误是否已解决。
要禁用你的 VPN,请按以下步骤操作:
For Windows:
- 点击「开始」,然后点击「设置」(齿轮图标)。
- 从 Windows 设置页面中,找到并点击「网络和互联网」。
- 从左侧列表中选择 VPN。
- 点击你正在使用的 VPN 服务,然后点击「断开连接」。
- 重启你的设备并检查 NXDOMAIN 错误是否已解决。
For macOS:
- 打开「系统偏好设置」并点击「网络」。
- 从左侧列表中选择 VPN。
- 点击「断开连接」和「应用」以保存更改。
对于 Linux 用户,禁用 VPN 的方法因操作系统和 VPN 版本而异,你需要查找特定操作系统和 VPN 的指南或联系 VPN 提供商的支持团队。
Final Thoughts
解决 NXDOMAIN 错误可能很麻烦,也可能像刷新 DNS 缓存一样简单。无论如何,这都是一个相当常见的错误,无论你是用户还是网站所有者,学会处理它都能节省大量时间甚至成本。
FAQ
什么是 NXDOMAIN 错误?
简单来说,NXDOMAIN(非存在域名)错误意味着网络浏览器无法访问该网站,这表示该域名不存在,就像其名称所暗示的那样。
NXDOMAIN 错误怎么解决?
修复 NXDOMAIN 错误有几种方法,但具体方案取决于你的身份(网站所有者或普通用户)以及错误是普遍存在还是仅影响特定用户。
如果你是网站所有者,检查域名是否未注册或已过期。对于普通用户,解决 NXDOMAIN 错误最常见的方法之一是清空你的 DNS 缓存。
什么是 NXDOMAIN 错误?
NXDOMAIN 错误可能表示多种问题,例如:
- 域名拼写错误。
- 过时的代码尝试访问不存在的网站。
- Misconfigured domain.
- 域名被入侵或存在安全问题。
- VPN 或防病毒软件因某种原因将该域名列入黑名单。