safari对特定网站报“无法连接到服务器”极大概率是macos dns缓存中固化了该域名的nxdomain负向解析结果,需用sudo dscacheutil -flushcache && sudo killall -hup mdnsresponder强制刷新,再验证nslookup或临时修改hosts修复。

当Safari只对某个特定网站(比如 www.alipay.com 或 api.github.com)突然报“无法连接到服务器”或 ERR_NAME_NOT_RESOLVED,而其他网页完全正常时,问题极大概率是 macOS 系统 DNS 缓存中固化了该域名的负向解析结果(NXDOMAIN),必须用精准命令组合强制刷新底层解析服务,不能只点几下菜单就完事。
确认是否真为DNS缓存污染
打开“终端”,依次执行:
scutil --dns | grep "DNS Server"
sudo dscacheutil -cachedump -entries Host | grep -A 2 -B 2 "www.alipay.com"
若第二条命令输出中出现【NXDOMAIN】或某行显示 TTL: 0,说明系统已把该域名标记为“永久失败”,后续所有 Safari 请求都会直接返回错误,跳过真实 DNS 查询——这一步不验证就操作,等于蒙眼刷锅,白费力气。
执行双重刷新命令(适用于 macOS Sonoma/Ventura/Monterey/Big Sur/Catalina)
在终端中一次性粘贴并回车执行:
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
输入管理员密码(屏幕无任何显示,输完直接回车)。这条命令用 && 强制顺序执行:先清空缓存表,再向 mDNSResponder 进程发送 HUP 信号使其重载配置。缺任一环都可能残留 NXDOMAIN 条目,导致 Safari 继续沿用错误结论。
光标回到新行且无报错(如 “no matching processes” 属正常),即表示完成。无需重启 Safari,立即在地址栏重试目标网址。
若仍失败,临时写入 hosts 强制重建解析链
方法一:覆盖式触发重建(推荐)
1、执行:sudo killall -HUP mDNSResponder
规划您的迪拜之旅 — 哈利法塔观景、沙漠探险、迪拜购物中心购物、棕榈岛度假村及黄金市场砍价。还提供支持...
2、将目标域名映射到本地回环地址:echo "127.0.0.1 www.alipay.com" | sudo tee -a /etc/hosts
3、刷新缓存:sudo dscacheutil -flushcache
4、从 hosts 中安全删除该行:sudo sed -i '' '/www\.alipay\.com/d' /etc/hosts
注意:sed 命令中域名的每个点号必须用反斜杠 \ 转义,否则正则会误删整行,导致 hosts 文件损坏。
方法二:直连公共 DNS 验证是否纯属本地缓存问题
在终端运行:nslookup www.alipay.com 1.1.1.1
如果返回有效 IPv4 地址(如 203.107.1.1),说明域名本身可解析,问题 100% 出在本地缓存;如果仍超时,则需排查防火墙拦截、CDN 节点异常或 DNSSEC 验证失败。
防止下次再被负向缓存锁死
第一步:关闭 Safari 的 DNS 预取功能
打开 Safari → 偏好设置 → 高级 → 取消勾选“在后台预加载网页以提高浏览速度”。该功能会主动发起大量 DNS 查询,一旦某次返回 NXDOMAIN,系统就会把该域名钉在负向缓存里长达数小时。
第二步:检查 /etc/hosts 是否被恶意注入
按 Command+Shift+G 打开访达前往文件夹,输入 /etc/hosts → 右键“显示简介” → 点击锁图标解锁(需输管理员密码)→ 用文本编辑器打开,逐行检查是否存在未授权添加的、指向 0.0.0.0 或 127.0.0.1 的可疑域名条目,手动删掉后保存。










