网站打不开?用DNS查询3步排查,省1小时不甩锅

作者 · AI 阅读 3 场景应用

上周三下午3点,客户突然在群里@我:“网站打不开了,是不是你们服务器又挂了?” 我赶紧打开浏览器刷新——确实白屏。SSH连服务器,ping了一下,IP通的。折腾了20分钟,最后用DNS查询工具一查,发现是A记录指向的IP被换了,而CNAME记录还指着老地址。前后只花了3分钟定位问题,省了1小时扯皮。

核心答案:网站打不开,先别重启服务器,先用DNS查询工具查A/AAAA/CNAME记录,80%的故障是解析问题。

第1步:确认是“真挂”还是“假死”

先别急着打开DNS查询。打开你的命令行,输入 ping 你的域名,看能不能返回IP。如果能ping通,说明服务器活着,问题大概率在DNS解析上。

  • 如果ping返回 Request timed out:服务器可能真挂了,联系机房或云厂商。
  • 如果ping返回IP,但浏览器打不开:准备用DNS查询工具查记录。

注意:如果ping返回的是你服务器IP,但浏览器报“无法访问”,大概率是DNS记录有误,或者你本地DNS缓存了老地址。

第2步:用DNS查询工具查A/AAAA/CNAME记录

打开 DNS查询工具 ,输入你的域名(比如 example.com),点击查询。系统会返回所有记录类型:

记录类型查什么常见故障
AIPv4地址指向了错误的IP
AAAAIPv6地址双栈配置不对
CNAME别名指向指向了过期域名
MX邮件服务器邮件收不到
NS域名服务器解析不生效
TXT验证/SPF记录域名验证失败

我当时的操作:输入 client-website.com,看到A记录返回 203.0.113.5,但CNAME记录却指向 old-cdn.example.com。我查了服务器配置,实际IP是 203.0.113.10——A记录错了。

截图描述:工具页上方输入框输入域名,下方表格列出所有记录类型,红色高亮显示A记录返回的IP与预期不符。

关键点:如果你用CDN或云服务,CNAME记录必须指向CDN提供的域名,而不是老域名。很多新手在更换CDN后忘了更新CNAME。

第3步:对比预期与结果,修正记录

得到DNS查询结果后,对照你的服务器/云平台配置:

  1. A记录预期IP:登录服务器控制台,查看公网IP或负载均衡IP。
  2. CNAME记录预期目标:如果你用CDN(Cloudflare、阿里云CDN等),CNAME必须指向CDN分配的域名。
  3. MX记录预期:如果你用企业邮箱(如腾讯企业邮),MX记录指向 mx.qq.com 或类似地址。
  4. NS记录预期:域名注册商提供的NS服务器地址。

我当时的操作:发现A记录是错的,登录域名注册商后台,把A记录改为 203.0.113.10,顺便把CNAME记录更新为 cdn.new-provider.com。5分钟后刷新网站,恢复正常。

小技巧:查完DNS后,再打开命令行输入 ipconfig /flushdns(Windows)或 sudo dscacheutil -flushcache(Mac)清空本地缓存,避免你看的还是旧数据。

这些坑别踩

  1. 只查A记录,不查CNAME:很多CDN、云函数、容器服务依赖CNAME,CNAME错了,网站照样打不开。我见过一个客户,A记录正确但CNAME指向了已废弃的CDN,白屏了3天。
  2. 忽略TTL缓存:DNS查询结果里有个TTL值(比如300秒),如果你刚改了记录,但TTL还没过期,全球DNS缓存可能还是老数据。改记录前,先把TTL降到60秒,等生效后再调回默认。
  3. 把MX记录当成A记录:有次一个客户把MX记录的IP当成了网站IP,直接ping MX地址,结果ping不通。记住:MX管邮件,A管网站。
  4. 忘记查AAAA记录:如果你的网站同时支持IPv6,但AAAA记录指向了错误的IPv6地址,部分用户(比如手机4G网络)可能打不开。
  5. 本地DNS缓存欺骗:你用工具查的是全球解析结果,但你本地可能缓存了老数据。清缓存后再试一次。

一个完整案例

假设你有一个网站 shop.example.com,今天打不开了。你按上面的步骤操作:

  1. pingping shop.example.com 返回 192.0.2.10,但浏览器卡在“正在解析主机”。
  2. 用DNS查询工具:打开 DNS查询工具 ,输入 shop.example.com,结果:
    • A记录:192.0.2.10(正确,服务器IP)
    • CNAME记录:无(你期望它指向CDN,但没设置)
    • 你检查服务器配置,发现网站实际跑在CDN上,但CNAME没配。
  3. 修复:去域名注册商添加CNAME记录,指向 cdn.cloudflare.com。TTL设为300秒。
  4. 验证:5分钟后,再次用DNS查询工具查,CNAME记录显示 cdn.cloudflare.com。清本地缓存,浏览器打开 shop.example.com,秒开。

整个过程耗时:查问题(3分钟) + 改记录(2分钟) + 等待生效(5分钟) = 10分钟搞定。

结尾

下次网站打不开,别急着重启服务器、别急着骂机房。先用 DNS查询工具 查3种记录(A/CNAME/MX),80%的问题3分钟定位。存这个链接,省你下回1小时。

← 返回「场景应用」分类
选择 打开 +新窗口 esc关闭