跳转到内容
搜索文档

常见 DNS 问题

最后更新 查看 MarkdownAgent 设置

在 Safari 或 Chrome 等 Web 浏览器中,有几个常见的 DNS 错误:

常见原因和解决方法

以下是 DNS 解析错误的最常见原因及建议解决方案。

域名或子域名拼写错误

验证请求 URL 中的域名或子域名拼写是否正确。

缺少 DNS 记录

确保您拥有出现错误的域名或子域名所需的 DNS 记录。

Go to Records ↗

这包括拥有以下记录:

  • Zone apex 记录(例如 example.com)。
  • 现有子域名www.example.comblog.example.com)记录。

将域名添加到 Cloudflare 之前未禁用 DNSSEC

如果在将域名添加到 Cloudflare 之前未在域名提供商处禁用 DNSSEC,DNS 解析将失败。

Nameserver 不再指向 Cloudflare

如果您通过 Cloudflare 仪表板管理 DNS 记录,且域名停止指向 Cloudflare 的 nameserver,DNS 解析将停止工作。

如果 registrar 将域名的 nameserver 切换为指向其默认 nameserver,可能会发生这种情况。要确认是否存在此问题,检查域名是否使用 Cloudflare 的 nameserver

未解析的 IP 地址

在极少数情况下,请求 URL 的客户端 DNS resolver 可能无法将 DNS 记录解析为有效 IP 地址。

短暂等待后重新加载页面,查看问题是否消失。此问题与 Cloudflare 无关,但使用 Cloudflare 的 DNS resolver 可能有帮助。联系托管提供商获取当前 DNS resolver 的进一步帮助。

新创建的记录仍无法解析

如果您最近创建了 DNS 记录,而 resolver 仍返回 NXDOMAIN(域名不存在)或无答案,可能是因为否定响应当前存储在 resolver 缓存中。

当 resolver 查询尚无 DNS 记录的主机名时,它会缓存空响应,以免立即再次询问权威 nameserver。这称为否定缓存。

对于新创建的记录:

  • Resolver 可能尚未缓存新记录。相反,它使用的是先前的 NXDOMAIN 缓存条目,表示「此记录不存在」,如果您在创建记录之前查询过主机名,就会生成此条目。
  • 此否定缓存的持续时间由 zone SOA 记录中的 MINIMUM 字段决定(根据 RFC 2308),而不是您刚创建记录的 TTL。不同的 resolver 可能缓存不同的持续时间。

这意味着:

  • 如果已存在否定缓存条目,降低新记录的 TTL 不会加速解析;resolver 只有在旧否定条目过期后才会看到新 TTL。
  • 刷新本地 DNS 缓存仅影响您的特定设备;上游递归 resolver(例如 ISP 或公共提供商)仍持有否定结果。
  • 传播看起来不均匀,因为不同的 resolver 可能在不同时间查询名称、应用不同的否定缓存 TTL,或根本没有否定缓存条目。

每个 resolver 的确切行为不同,但要估计需要等待多长时间,请查询 zone 的 SOA 记录并查看最后一个值(MINIMUM 字段)。您必须等待该间隔自上次 NXDOMAIN 查询过去,新记录才会一致解析。

您可以通过查询不存在(或新创建)的主机名来检查否定缓存条目是否处于活动状态:

dig +noall +answer +authority mynewrecord.example.com

如果记录仍被否定缓存,响应将在 authority 部分包含 zone 的 SOA 记录,TTL 指示条目过期前剩余的秒数:

example.com.		256	IN	SOA	...

在此示例中,否定缓存响应将继续 256 秒。

要验证记录是否正确解析,您可以清除公共 resolver 的缓存并查询记录。如果有效,其他 resolver 最终也会开始解析:

进一步调试

要验证记录是否正确创建,请直接查询 Cloudflare 的权威 nameserver:

# Find the authoritative nameservers for your zone
dig @1.1.1.1 example.com NS +short
# Query the authoritative nameserver for your new record
dig @hera.ns.cloudflare.com mynewrecord.example.com A

直接查询权威 nameserver 会绕过 resolver 缓存。如果返回记录,resolver 最终也会开始返回它。如果记录未出现,请验证记录是否存在于 Cloudflare 仪表板中,且主机名完全匹配。

账户恢复

如果您被锁定在包含 DNS 配置的 Cloudflare 账户之外,请参阅账户恢复

这篇文档对您有帮助吗?