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|headB. 如果有 nscd
sudosystemctl restart nscd||sudoservicenscd restartC. 如果有 dnsmasq
sudosystemctl restart dnsmasq然后再测一次:
getent hosts miaohui.shgbitai.comping-c1miaohui.shgbitai.com⸻
3)如果你说的“本地机器”是你的 Mac/Windows,也要清缓存
macOS(你现在看起来像 Mac)
sudodscacheutil -flushcachesudokillall-HUP mDNSResponderWindows
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