DNS解析切换了本地没有变更怎么处理
2026/5/31 13:19:25 网站建设 项目流程

1)先确认:权威 DNS 上到底是不是已经变成 47.97.183.22

在 ECS 上跑(强烈建议):

A. 看全链路(最可靠)

dig+trace miaohui.shgbitai.com

最后的 A 记录如果还是 8.159.152.88,说明你改的解析还没真正到权威 DNS(或改错了记录/线路/域名)。

B. 同时对比几个公共 DNS(看是不是“缓存未过期”)

digmiaohui.shgbitai.com @223.5.5.5 +shortdigmiaohui.shgbitai.com @114.114.114.114 +shortdigmiaohui.shgbitai.com @8.8.8.8 +short

再看 TTL(确认要等多久缓存才自然过期):

digmiaohui.shgbitai.com +noall +answer

如果你看到不同 DNS 返回不同 IP,那就是DNS 缓存传播/未过期的问题;TTL 多久,就可能要多久才“自然全网一致”。

2)让这台 Linux 机器“立刻”刷新解析缓存

很多机器会有本地 DNS 缓存(systemd-resolved / nscd / dnsmasq),你可以依次试(命令跑了没报错即可):

A. 如果是 systemd-resolved(最常见)

sudoresolvectl flush-cachessudoresolvectl statistics|head

B. 如果有 nscd

sudosystemctl restart nscd||sudoservicenscd restart

C. 如果有 dnsmasq

sudosystemctl restart dnsmasq

然后再测一次:

getent hosts miaohui.shgbitai.comping-c1miaohui.shgbitai.com

3)如果你说的“本地机器”是你的 Mac/Windows,也要清缓存

macOS(你现在看起来像 Mac)

sudodscacheutil -flushcachesudokillall-HUP mDNSResponder

Windows

ipconfig /flushdns

4)仍然不生效时,90% 是“解析记录设置/线路”问题

阿里云 DNS 里常见坑:
• 你改了 A 记录,但域名实际是 CNAME 到别处(CDN/SLB),所以解析结果不是你想的
• 你设置了 解析线路(电信/联通/移动/境外/默认),你改的是某条线路,但你当前网络命中的是另一条线路
• 你改的是 miaohui.shgbitai.com,但实际访问的是别的子域名(比如 www.miaohui…)

你可以用这个看清楚到底返回了什么:

digmiaohui.shgbitai.com +noall +answerdigCNAME miaohui.shgbitai.com +noall +answer

5)“立刻可用”的兜底方案(不等 DNS)

如果你就是要这台机器马上按新 IP 访问域名(例如 Nginx 回源/测试),临时写 hosts:

echo"47.97.183.22 miaohui.shgbitai.com"|sudotee-a /etc/hosts

验证:

getent hosts miaohui.shgbitai.com

这只影响这台机器;等 DNS 全网生效后可以再删掉这行。

如果你把下面两条命令的输出贴出来,我可以直接判断你是“缓存问题”还是“解析配置问题”(线路/CNAME/CDN):

digmiaohui.shgbitai.com +noall +answerdig+trace miaohui.shgbitai.com|tail-n30

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询