发布于2026-07-29 阅读(0)
扫一扫,手机访问
碰到Safari打不开某个特定网站、其他页面却一切正常的情况,多半是系统DNS缓存里卡住了那个域名的错误解析结果。别急着重启路由器或重装系统,先试试下面这几招,大概率能搞定。

当只有像 api.pay.example.com 这样的域名报错,提示“无法连接到服务器”或 ERR_NAME_NOT_RESOLVED,而其他网站访问流畅时,十有八九是系统级DNS缓存里存了该域名的错误记录(比如带【NXDOMAIN】标记的负向缓存)。必须手动清除才能恢复访问。
这条命令组合拳适用于绝大多数场景,能清掉macOS底层mDNSResponder服务维护的全部缓存条目,干净利落。
打开“终端”(可以在“启动台→其他”里找到);
输入第一条命令:sudo dscacheutil -flushcache,回车后输入管理员密码(输入时屏幕上不会显示字符),再回车;
紧接着再执行第二条:sudo killall -HUP mDNSResponder,回车确认。
这两条命令缺一不可——只跑第一条可能还残留部分缓存,只跑第二条则无法触发完整重建。执行完成后无需重启Safari,立即生效。
如果你确认只有 www.badhost.test 这一个域名报错,其他全正常,并且已经用 sudo dscacheutil -cachedump -entries Host 查到它带【NXDOMAIN】标记,那才需要下面这个精准操作——避免误伤其他有效缓存。
方法一:临时hosts污染+强制刷新
第一步:执行 sudo killall -HUP mDNSResponder;
第二步:把出错域名强行写进hosts:echo "127.0.0.1 www.badhost.test" | sudo tee -a /etc/hosts;
第三步:刷新缓存:sudo dscacheutil -flushcache;
第四步:立刻删掉刚加的行:sudo sed -i '' '/www.badhost.test/d' /etc/hosts。
【务必用反斜杠转义域名中的点号,否则sed会误删整行】
注意:这个操作清的是Safari自己维护的DNS缓存(极小概率存在),它解决不了 ERR_NAME_NOT_RESOLVED 这类系统级错误,但可以作为辅助手段配合使用。
打开Safari → 点击菜单栏“Safari” → “设置” → “高级” → 勾选“在菜单栏中显示‘开发’菜单”;
关闭设置窗口;
点击顶部菜单栏“开发” → “清空缓存”。
这一步操作起来很简单,直接点击就行,不需要输密码或重启浏览器。
这个方案适合怀疑当前ISP DNS返回了错误结果,或者想跳过本地缓存链路、确认问题到底出在DNS本身还是其他环节。
进入“系统设置” → “网络” → 选择当前连接(如Wi-Fi)→ 点击右侧“详细信息” → 切换到“DNS”标签页;
删掉原有DNS地址,点击“+”添加 8.8.8.8 和 1.1.1.1;
点“好”保存,关闭窗口。
改完后Safari会自动走新DNS查询路径,旧缓存自然失效。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9