你的网站打不开?别急,先看看是不是域名解析卡住了

刚改完DNS,朋友说打不开你网站,你刷新十次——还是404。别删记录、别重配,90%的情况只是“还没传到他那儿”。DNS不是秒发微信,它像寄平信,得等邮局一程程转。

第一步:先确认是不是真的解析问题?

别急着进后台改设置。先打开终端(Mac/Linux)或命令提示符(Windows),敲这行:
ping 你的域名.com

如果返回的IP和你服务器地址对不上,那确实是解析没到位。
如果压根ping不通,再试这句:
nslookup 你的域名.com

它会直接告诉你,当前查到的IP是谁给的——是你本地网络缓存的旧结果,还是运营商DNS还没更新。

真实案例:一位做独立博客的朋友,自己电脑能打开,但同事说页面空白。一查 nslookup,发现他本地DNS还记着三天前的老IP。执行 ipconfig /flushdns 清掉缓存,立刻就通了。

全球DNS生效到底要等多久?

不用硬扛48小时。实际中,多数人在改完DNS后,10分钟到3小时内,北京、上海、深圳的用户基本都能看到新地址。

关键看TTL值——也就是你这条记录允许被缓存多久。比如你之前设的是“2天”,那全世界的DNS服务器就会按这个时间守着旧IP不放;但如果提前把TTL调成5分钟(300秒),改完记录后,大家最多等5分钟就能刷出新地址。

实操建议:下次要换服务器或迁站,提前1–2天就把所有记录的TTL改成300秒。等生效后,再把TTL调回1小时(3600秒)——既够快,又不会让DNS服务器太累。

检查这5个最常见的配置错误

手抖填错一个字符,解析就原地躺平。一个个过:

  1. 类型选错了:想让 www.域名.com 指向服务器IP?用A记录。想让它指向 myapp.vercel.app?用CNAME。千万别选成TXT(那是放验证信息的)或者MX(那是收邮件的)。
  2. 主机名写串了:填 www 就是解析 www.域名.com;填 @ 或留空(看平台),才是解析 域名.com 这个根域名。填成 www.域名.com?系统会当成 www.域名.com.域名.com,直接报错。
  3. 记录值抄漏了:A记录后面必须是纯IP,比如 192.0.2.1,多一个空格、少一个小数点都不行。CNAME后面要是另一个域名,结尾记得加英文点号,比如 my-site.netlify.app.(这个点不能少,是规范写法)。
  4. 只配了www,忘了根域名:用户不一定会输 www,很多人直接输 域名.com。如果你只给 www 配了A记录,根域名没配,那他们就只能看到“无法访问此网站”。
  5. Nameserver根本没换:用了Cloudflare或DNSPod,却还在注册商后台用默认DNS——等于你在新地图上画好了路线,却没告诉别人“请按这张图走”。务必去注册商后台,把Nameserver改成Cloudflare给你的那几行(比如 lara.ns.cloudflare.com 这类)。

你的域名状态正常吗?小心这些“隐形杀手”

DNS再完美,域名本身挂了也白搭。登录你买域名的地方(阿里云、腾讯云、NameSilo……),点进域名管理页,重点看两处:

  • 域名状态栏:出现 clientHoldserverHold 字样,基本就是实名没完成、快到期没续费,或者被投诉暂停了。这种状态下,任何DNS修改都无效。
  • 是否过期:哪怕只超期12小时,部分注册商也会立刻停掉解析服务。别猜“应该还能撑两天”,直接看后台写的到期日。

另外,有些平台(比如早期腾讯云)有个隐藏开关叫“DNS解析服务”,默认开启,但可能被误关。找不到就搜“DNS解析”或“解析总开关”,点开确认是“已启用”。

如何利用免费工具快速诊断问题?

别只在自己电脑上测。你连WiFi能打开,不代表上海用户、成都用户、甚至你妈用的移动宽带也能打开。我日常就用这三个不用注册、不收费的工具:

  • DNSPod「DNS检测」:输入域名,它会从北京联通、杭州电信、深圳移动等十几条线路同时查,每条线显示当前解析到哪个IP,一眼看出哪边卡住了。
  • 站长之家「DNS查询」:支持手动选地区和运营商,比如你想知道“广州移动用户看到的是不是新IP”,直接选对应线路查。
  • What’s My DNS?:全球地图式展示,50多个城市节点,绿色✓代表已更新,红色✗代表还在用旧IP。特别适合判断“是不是只剩个别地区没跟上”。

上次帮一个知识付费老师排查,工具显示全国95%节点已是新IP,唯独云南某地运营商还卡在旧地址——问题立马锁定:不是他配置错,是当地DNS缓存太顽固,建议用户清缓存或换DNS即可。

修改了Nameserver后,为什么“失联”更久了?

这是最让人抓狂的环节:你明明切到了Cloudflare,结果半天打不开,还以为切失败了。其实不是失败,是“交接期混乱”。

因为Nameserver本身也是一条DNS记录(NS记录),它也有TTL。而注册商默认给它的TTL往往很长(比如48小时)。这意味着:一部分用户还在找老DNS要答案,另一部分已转向Cloudflare——两边答案不同,自然有人通、有人不通。

怎么减少混乱期?
三步走:
① 切换前3天,在旧DNS后台把所有记录的TTL全改成300秒;
② 在Cloudflare里,把A、CNAME、MX等所有记录,原样复制过去,确保完全一致;
③ 最后一步,才去注册商后台,把Nameserver换成Cloudflare提供的地址。

这样,当NS记录慢慢全球生效时,新老DNS给出的答案已经是一样的了。

今天就能做的具体操作步骤

现在就打开电脑,照着做,15分钟内定位问题:

  1. 打开终端/命令提示符,执行:nslookup 你的域名.com 8.8.8.8(强制用谷歌DNS查,绕过本地干扰),记下返回的IP;
  2. 登录你买域名的平台(阿里云/腾讯云/GoDaddy等),确认域名没过期、状态不是 clientHold
  3. 进入DNS解析管理页,逐条核对:
      → 主机名是 @ 还是 www
      → 类型是A还是CNAME?
      → 记录值有没有多空格、少小数点、漏结尾的英文点?
      → TTL是不是还卡在2天?
  4. 如果用了Cloudflare/DNSPod,回到注册商后台,点开“DNS服务器”或“Nameserver”设置,确认填的是它们提供的地址(不是默认的);
  5. 打开 DNSPod DNS检测What’s My DNS,输入你的域名,看全球地图上多少地方已变成绿色✓;
  6. 如果第1步查出的IP和你服务器IP不一致,而第5步显示大部分地区仍是旧IP——说明还没传开,等2小时再测;如果第5步全绿,但你本地还是旧IP,那就清缓存:Windows执行 ipconfig /flushdns,Mac执行 sudo dscacheutil -flushcache

做完这六步,80%的“打不开”都有解。DNS不怕慢,怕盲改。盯住IP、看清状态、借工具看全局——你的网站,稳得很。