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> 開啟。