网站与速度

网站在手机上能打开,在 Mac 上却打不开

当某个网站在手机上能打开、在 Mac 上打不开时,问题通常出在 Mac 上。一层一层地比较这两台设备。

适用于:“系统设置”路径适用于 macOS 13 Ventura 及更高版本。终端命令适用于所有当前的 macOS 版本。核查日期:2026年10月29日

症状

  • Safari 或其他浏览器对某个网站显示错误或空白页面。
  • 同一网站在手机上可以打开。
  • 其他网站在 Mac 上可以打开。
  • 该网站在 Mac 上的所有浏览器中都失败,或只在某一个浏览器中失败。

可能的原因

  • 网络不同。手机可能在用蜂窝数据,而 Mac 在用 Wi-Fi,这样两台设备走的不是同一条网络路径。
  • 自定义 DNS 或代理设置。Apple 表示,Mac 上自定义的 DNS 或代理设置可能导致无法访问某些内容。
  • VPN 或安全软件。监控或更改网络连接的软件可能会导致某些网站无法访问。
  • 浏览器扩展或存储的网站数据。内容拦截器或损坏的 Cookie 可能会让某个浏览器打不开某个网站。
  • IP 版本不同。手机和 Mac 可能分别通过 IPv4 或 IPv6 访问网站。一条路径失败时,另一条可能仍然正常。

如何检查

  1. 把手机连接到与 Mac 相同的 Wi-Fi 网络,并在测试期间关闭手机的蜂窝数据。

  2. 再次在手机上打开该网站。如果现在也失败了,问题就在网络或网站,而不在 Mac。

  3. 在 Mac 上用无痕浏览窗口打开该网站。在 Safari 中,选取“文件”>“新建无痕浏览窗口”。

  4. 在 Mac 上用另一个浏览器打开该网站。如果那里可以打开,问题就在第一个浏览器。

  5. 在终端中请求该网站,并显示连接的每一步。

    curl -v -I https://example.com
  6. 先只用 IPv4 发送请求,再只用 IPv6 发送请求,比较结果。

    curl -4 -I https://example.com
    curl -6 -I https://example.com
  7. 显示 Mac 当前使用的 DNS 服务器。

    scutil --dns
  8. 显示系统代理设置。

    scutil --proxy

如何修复

  1. 如果该网站在无痕浏览窗口中可以打开,就移除它存储的数据。在 Safari 中,选取“Safari 浏览器”>“设置”>“隐私”>“管理网站数据”。选择该网站,然后点按“移除”。

  2. 如果该网站在另一个浏览器中可以打开,就关闭扩展。在 Safari 中,选取“Safari 浏览器”>“设置”>“扩展”,然后取消选择每个复选框。

  3. 如果开启了 VPN 或安全 App,暂时关闭它做个简短测试。测试结束后再重新打开。

  4. 如果 scutil --proxy 显示了你意料之外的代理,请将其移除。

  5. 打开“系统设置”>“网络”。选择该服务,点按“详细信息”,然后点按“代理”。

  6. 如果你使用自定义 DNS 服务器,测试时把 DNS 改回网络自己的服务器。请参阅Mac 上 DNS 无法解析。

  7. 如果 IPv6 失败而 IPv4 正常,请阅读Mac 上的 IPv6 问题。

  8. 要重置所有网络设置,新建一个网络位置。在“系统设置”>“网络”中,点按“操作”弹出式菜单,然后选取“位置”>“编辑位置”。

使用 Kilobat

  1. Kilobat 的连接诊断会逐层测试某个网站:网络、代理、DNS、Kilobat 规则、IPv4、IPv6、TLS 和服务器,并指出失败的那一层。

    kilobat why https://example.com
  2. 要测试某个 App 的路径,加上它的 bundle ID。连接诊断还会检查该 App 环境中的代理。

    kilobat why https://example.com --app com.apple.Safari
  3. 在 App 中,使用“健康”标签页里的“为什么连不上?”。此功能免费。请参阅找出某个网站或 API 连不上的原因。

常见问题

为什么网站用蜂窝数据能打开,用我的 Wi-Fi 却打不开?

这两个网络使用不同的 DNS 服务器和不同的路由。让手机连接与 Mac 相同的 Wi-Fi,才能比较同一条路径。

能恢复到原来的网络设置吗?

可以。新建位置会保留旧的位置。从苹果菜单中,或从“系统设置”>“网络”中的“操作”弹出式菜单中选取旧的位置即可。

参考资料

参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本;在“终端”中用 man <name> 打开。