VPN、代理与过滤器

Mac 上代理设置导致 App 无法连接

代理设置会让流量经过另一台服务器。如果该服务器配置错误或不可用,某些 App 就无法连接,而其他 App 可能一切正常。

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

症状

  • Safari 浏览器正常,但某个 App 或终端工具显示超时或“proxy”错误。
  • App 在家能连接,换个网络就失败,或者反过来。
  • 命令行工具因“Could not resolve proxy”而失败,或连接本地端口时被拒绝。
  • VPN 或代理 App 退出后,连接就断了。

可能的原因

  • 旧的系统代理。离开需要代理的网络后,“系统设置”中设置的代理仍然保留。
  • PAC 文件或自动代理发现。Mac 从某个 URL 获取代理规则。如果该 URL 加载失败,有些 App 就无法连接。
  • 代理环境变量。终端工具会读取 http_proxy、https_proxy 和 all_proxy。这些变量不会改变“系统设置”中的代理,从 Dock 打开的 App 也看不到它们。
  • 已停止的代理 App。有些 App 会把代理设为本地端口,例如 127.0.0.1。如果该 App 停止运行,就没有程序在监听那个端口。
  • App 自带代理设置。有些 App 在自己的设置中有代理字段,它与系统代理相互独立。

如何检查

  1. 打开“终端”,显示 macOS 当前使用的代理配置。

    scutil --proxy

    输出 HTTPEnable、HTTPSEnable、ProxyAutoConfigEnable 和 ProxyAutoDiscoveryEnable 等键。值为 1 表示开启。

  2. 显示某个网络服务的 HTTP 和 HTTPS 代理。如有需要,将 Wi-Fi 换成你的服务名称。

    networksetup -getwebproxy Wi-Fi
    networksetup -getsecurewebproxy Wi-Fi
  3. 显示 PAC 文件和自动代理发现设置。

    networksetup -getautoproxyurl Wi-Fi
    networksetup -getproxyautodiscovery Wi-Fi
  4. 显示 shell 中的代理环境变量。

    env | grep -i proxy
  5. 如果代理指向 127.0.0.1,查找监听该端口的程序。将 7890 换成实际端口。

    lsof -nP -iTCP:7890 -sTCP:LISTEN

如何修复

  1. 选取苹果菜单 >“系统设置”>“网络”。点按网络服务,然后点按“详细信息”。

  2. 点按“代理”。关闭网络不需要的每种代理类型。

  3. 有些主机不能经过代理。将它们添加到“忽略这些主机与域的代理设置”。

  4. 点按“好”保存更改。

  5. 要在“终端”中关闭网页代理,使用 networksetup。macOS 可能会要求输入管理员密码。

    networksetup -setwebproxystate Wi-Fi off
    networksetup -setsecurewebproxystate Wi-Fi off

    需要管理员密码。

  6. 从 shell 启动文件(例如 ~/.zshrc)中删除旧的代理变量,然后打开一个新的“终端”窗口。

  7. 在出问题的 App 的设置中查找它自己的代理字段,使其与网络保持一致。

使用 Kilobat

  1. Kilobat 的连接检查会报告系统代理和 PAC 文件,还会测试直连路径和代理路径。

    kilobat why api.example.com
  2. 加上 --app 可读取该 App 环境中的代理变量。密码不会显示。

    kilobat why https://api.example.com/v1/models --app com.example.App
  3. 如果 App 有自己的代理设置,用 --proxy 提供该地址。

    kilobat why huggingface.co --proxy http://127.0.0.1:7890
  4. 该检查免费。App 和 MCP 的操作步骤参阅找出某个网站或 API 无法连接的原因。

常见问题

为什么 Safari 浏览器正常,终端却失败?

Safari 使用系统代理,终端工具使用 shell 中的代理变量。这两个设置可能不同。

什么是自动代理发现?

Mac 会在网络上查找代理规则。在没有代理的网络上,可以将其关闭。

参考资料

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