域名指向错误的托管商:4 个原因 + 对症修复

你换了托管商但 DNS 仍解析到旧的——在 DNS 链路里去哪找错记录。

你迁移了托管商。在 registrar 改了 A 记录。浏览器仍打开旧主机。dig +short yourdomain.com 显示旧 IP。你确定改了 DNS——但没生效。最可能的原因:你的权威 nameserver(世界实际查询的那些)不是 registrar 的默认 nameserver。它们在 Cloudflare、Vercel DNS、Route 53,或者几个月前你设的某个地方然后忘了。registrar 上的编辑根本到不了权威提供商。

诊断一条命令:dig NS yourdomain.com

常见原因

按命中率从高到低。

1. 权威 nameserver 在别处

你 registrar 的 nameserver(ns1.yourregistrar.com)不是世界查询的那些。世界查询的是 Cloudflare 或几个月前你设的。Registrar 面板的编辑没用。

怎么判断

dig NS yourdomain.com

返回 cloudflare.com 的 nameserver(leah.ns.cloudflare.com 之类),那就是权威提供商。registrar 的 DNS 面板无关。

2. 旧 A / CNAME 跟新的并存

加了新 A 但忘删旧的。DNS 现在有两条 A 记录;resolver 轮询或不一致挑选。

怎么判断

dig yourdomain.com

;; ANSWER SECTION: 里 2+ 个 A 指向不同 IP 就是陈旧记录还在。

3. 旧记录 TTL 太高

你改了记录但 TTL 是 86400(24 小时)。resolver 可能保留旧 IP 最多 24 小时。

怎么判断:看旧记录的 TTL。高且改动是最近的,就等。

4. 多个 A 记录(有意多主机或意外)

A 记录分发本来可以是有意的(负载均衡)。但 IP 来自两个不相关的主机就是意外、破坏路由。

怎么判断dig yourdomain.com 显示多个 A。验证每个 IP——应该都来自同一个主机。

5. 本地 DNS 缓存陈旧

全球传播完之后,你笔记本的 OS 或浏览器缓存还有旧 IP。

怎么判断dig yourdomain.com @8.8.8.8 显示新 IP,但 dig yourdomain.com(系统 resolver)显示旧。清本地 DNS。

6. 前置 CDN 代理指向旧源站

Cloudflare 代理开着。你改了源 DNS 但 Cloudflare edge 配置仍跟旧源站通讯。

怎么判断:Cloudflare → DNS → 看代理记录后面真实解析到什么。可能还是旧的。

最短修复路径

第 1 步:找权威 DNS 提供商

dig NS yourdomain.com

这是真相。返回什么就是谁在服务你的 DNS。例子:

  • ns1.dreamhost.com → DreamHost 权威
  • leah.ns.cloudflare.com → Cloudflare 权威
  • ns-376.awsdns-47.com → Route 53 权威

第 2 步:登录权威提供商

在那里改 DNS 记录。Registrar 面板可能有也可能没有 DNS 章节——如果 registrar 的 nameserver 不是权威的,那部分就是死代码。

第 3 步:删旧 A / CNAME

加新记录前先删同名旧记录。不要两个都留。

第 4 步:按主机要求加新记录

严格按主机文档(Vercel:A 76.76.21.21 等)。看 A vs CNAME 困惑

第 5 步:全球验证

dig +short yourdomain.com @8.8.8.8
dig +short yourdomain.com @1.1.1.1

两个都应返回新 IP。还是旧的就是没保存或没传播。

第 6 步:清本地 DNS

# macOS
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
# Linux
sudo resolvectl flush-caches
# Windows
ipconfig /flushdns

浏览器也清:chrome://net-internals/#dns → Clear host cache。

第 7 步:记下权威 DNS

DNS.md 或类似地方写:“yourdomain.com 的权威 DNS:Cloudflare (ns-XXX.cloudflare.com)。” 未来的你会感谢现在的你。

哪些情况可能不是你操作错了

某些 registrar/DNS 提供商不看 TTL 缓存几小时。从 dnschecker.org 多个地理位置验证。

容易误判的情况

在 registrar 改 DNS 但 nameserver 指向别处。Registrar UI 保存成功但没生效。永远先看 dig NS

预防建议

  • 每个域名记下权威 DNS 提供商(在 DNS.md)。
  • 任何主机变更至少 24 小时前把 TTL 降到 300 秒。
  • 换主机后删旧 A/CNAME,不要留着。
  • 共享 / 团队域名,确保只有一个人能改 DNS 避免冲突。
  • 用多个 resolver 验证,不只是本机。

FAQ

  • 怎么找权威 DNS? dig NS yourdomain.com 返回 NS 记录。
  • 能 registrar DNS 与 Cloudflare 同时用吗? 不能——只有一组 nameserver 权威。Registrar 设为委托给 Cloudflare,然后在 Cloudflare 管记录。

相关阅读

标签: #域名 #DNS #SSL #排查 #Name Server