1)先确认:权威 DNS 上到底是不是已经变成 47.97.183.22
在 ECS 上跑(强烈建议):
A. 看全链路(最可靠)
dig +trace miaohui.shgbitai.com
最后的 A 记录如果还是 8.159.152.88,说明你改的解析还没真正到权威 DNS(或改错了记录/线路/域名)。
B. 同时对比几个公共 DNS(看是不是“缓存未过期”)
dig miaohui.shgbitai.com @223.5.5.5 +short
dig miaohui.shgbitai.com @114.114.114.114 +short
dig miaohui.shgbitai.com @8.8.8.8 +short
再看 TTL(确认要等多久缓存才自然过期):
dig miaohui.shgbitai.com +noall +answer
如果你看到不同 DNS 返回不同 IP,那就是DNS 缓存传播/未过期的问题;TTL 多久,就可能要多久才“自然全网一致”。
⸻
2)让这台 Linux 机器“立刻”刷新解析缓存
很多机器会有本地 DNS 缓存(systemd-resolved / nscd / dnsmasq),你可以依次试(命令跑了没报错即可):
A. 如果是 systemd-resolved(最常见)
sudo resolvectl flush-caches
sudo resolvectl statistics | head
B. 如果有 nscd
sudo systemctl restart nscd || sudo service nscd restart
C. 如果有 dnsmasq
sudo systemctl restart dnsmasq
然后再测一次:
getent hosts miaohui.shgbitai.com
ping -c 1 miaohui.shgbitai.com
⸻
3)如果你说的“本地机器”是你的 Mac/Windows,也要清缓存
macOS(你现在看起来像 Mac)
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
Windows
ipconfig /flushdns
⸻
4)仍然不生效时,90% 是“解析记录设置/线路”问题
阿里云 DNS 里常见坑:
• 你改了 A 记录,但域名实际是 CNAME 到别处(CDN/SLB),所以解析结果不是你想的
• 你设置了 解析线路(电信/联通/移动/境外/默认),你改的是某条线路,但你当前网络命中的是另一条线路
• 你改的是 miaohui.shgbitai.com,但实际访问的是别的子域名(比如 www.miaohui…)
你可以用这个看清楚到底返回了什么:
dig miaohui.shgbitai.com +noall +answer
dig CNAME miaohui.shgbitai.com +noall +answer
⸻
5)“立刻可用”的兜底方案(不等 DNS)
如果你就是要这台机器马上按新 IP 访问域名(例如 Nginx 回源/测试),临时写 hosts:
echo "47.97.183.22 miaohui.shgbitai.com" | sudo tee -a /etc/hosts
验证:
getent hosts miaohui.shgbitai.com
这只影响这台机器;等 DNS 全网生效后可以再删掉这行。
⸻
如果你把下面两条命令的输出贴出来,我可以直接判断你是“缓存问题”还是“解析配置问题”(线路/CNAME/CDN):
dig miaohui.shgbitai.com +noall +answer
dig +trace miaohui.shgbitai.com | tail -n 30
1万+

被折叠的 条评论
为什么被折叠?



