2026-05-14 租用 ProxyMac Mac mini 上的 OpenClaw 出站 HTTP/HTTPS 代理:為何 SSH 裡的 export 會「說謊」,以及 launchd 應如何繼承
若你在 香港、日本、韓國、新加坡或美國 的租用 Apple Silicon Mac mini 上執行 OpenClaw,開發筆電往往已透過 企業 HTTP(S) 代理 連到網際網路,而雲端 mini 並不會自動取得相同路徑。常見劇本:在 SSH 內 export HTTP_PROXY=...,模型呼叫立刻成功;接著上線 launchd LaunchAgent,卻完全沒繼承那些變數,於是把問題怪到「OpenClaw 延遲」或「區域不好」。本文提供 (1) 受眾篩選、(2) 易被誤判為模型故障的症狀、(3) 四模式代理矩陣、(4) 九步 launchd 編碼手冊、(5) 涵蓋 PAC、分割隧道與 TLS 解密的 情境表,以及 (6) 針對 stdio MCP 的 NO_PROXY 陷阱。請搭配 MCP 環境與 launchd、無頭 SSH 首連清單、分割隧道 VPN 路由、閘道權杖 JSON 交叉閱讀。需要一次性圖形介面除錯時用 VNC;算 SKU 看 定價;路徑診斷用 說明中心。
誰必須為 OpenClaw 顯式寫出站 HTTP(S) 代理
先判斷 mini 的預設路由是否未經與你筆電相同的檢測鏈就能直連公網。受監管銀行、具全球 ZTNA 的 OEM,以及只對 443 放行白名單 SaaS 的混合架構,常要求非瀏覽器常駐程式也走顯式代理。若安全基線規定「無代理不得出公網」,OpenClaw 閘道行程應遵守同一契約。反之,若路由器政策已做透明轉發,你可能只需微調 NO_PROXY——但仍要以封包或 curl -v 留下證據,而非憑感覺。
- 量化門檻:若 mini 上 SSH 內
curl -I https://api.openai.com不加--proxy回 407,加上代理參數即成功,即屬顯式代理類型。 - 延遲門檻:當流量繞經另一大陸的中心代理,模型往返常額外增加 180–320 毫秒;請據此上調 MCP 逾時,而非盲目加並行。
- 並行門檻:企業代理對並發
CONNECT隧道常有 30–80 上限;在宣稱不穩定前先把 OpenClaw 並行度壓到該天花板以下。
哪些症狀像「模型掛了」或「區域選錯」
HTTP 層故障很少在 JSONL 裡客氣印出「需要代理驗證」。更常見的是 TLS 握手逾時、恰好在 60 或 120 秒後連線被重設、或首個 token 已出但代理換金鑰後串流中斷。另一種偽裝是:DNS 解析成功但 TCP 卡住——常見於分割 DNS 把 api.* 指到僅存在於 VPN 網段的解析器,而 mini 未拉起對應介面。在把負載從日本遷到新加坡前,請先用與 launchd 相同代理參數的迴圈 curl 複現,排除 HTTP 層因素。
HTTPS_PROXY 是否即可修復 TLS 端點;(3)stdio MCP 是否仍正常——若仍正常,回歸幾乎可斷定是出站而非工具鏈整體損壞。
決策矩陣:靜態代理、PAC、透明攔截與無代理
| 模式 | OpenClaw 端如何感知 | 對 launchd 的意涵 | 主要風險 |
|---|---|---|---|
靜態 http://host:port |
函式庫讀取 HTTP_PROXY/HTTPS_PROXY |
必須寫入 plist EnvironmentVariables |
chmod 不當導致 plist 世界可讀含密 |
| PAC / WPAD URL | 若應用不解析 PAC 等於未設定 | 常需包裝指令碼匯出解析後的代理 | PAC JS 靜默變更—以 Git 釘選版本 |
| 透明 TLS 攔截 | 無環境變數;企業 CA 參與握手 | 系統鑰匙圈必須信任該 CA | 根憑證輪替後 TLS 全掛直至更新 |
| 無(直連) | 依 mini 所在區域直連公網 | 仍應為本機 MCP 設 NO_PROXY |
未來政策加代理時意外合規缺口 |
九步手冊:從 SSH 證明到 launchd 對齊
- 盤點變數:收集
HTTP_PROXY、HTTPS_PROXY、ALL_PROXY、NO_PROXY及廠商自訂鍵。 - 證明 curl 對齊:在 mini 上執行
curl -v --proxy http://proxy:8080 https://api.anthropic.com並封存 verbose 日誌。 - 寫入 plist:把成功組合鏡像到
EnvironmentVariables;勿再依賴僅存在於~/.zshrc的 export,見 MCP 環境文。 - 拆分密鑰:避免把基本驗證密碼貼進工單—採用 launchd 友善的密文檔,思路同 權杖 JSON 文。
- NO_PROXY 衛生:包含
127.0.0.1,localhost,*.local及 MCP 使用的 RFC1918 區段。 - 對齊 VPN:若筆電依賴全隧道,先依 分割/全隧道文 核對 mini 路由再追 SLA。
- launchctl 煙測:
launchctl kickstart後比對 JSONL 出站行與 SSH 前景。 - 浸泡測試:以 3 路並行跑 500 次循序模型呼叫,壓出代理連線上限。
- 回復:plist 版本進 Git;
bootout後 2 分鐘內可還原上一版若錯誤率暴衝。
sudo -E—既擴大攻擊面,也無法穩定把變數傳給 MCP 子程序。
企業出口情境表(調逾時前先認領你的列)
| 情境 | 可觀測訊號 | OpenClaw 調參槓桿 |
|---|---|---|
| 歐盟中心代理,mini 在美國 | RTT 較直連多 > 220 ms | 提高 HTTP 用戶端逾時;降低在途並行 |
| Zscaler 類 SSL 解密 | TLS alert unknown CA | 安裝企業根到系統鑰匙圈並刷新信任快取 |
| 分割隧道漏掉 mini 子網 | DNS 成功、SYN 未完成 | 修正 VPN 用戶端路由;鏡像筆電政策 |
| 代理口令每 12 小時輪替 | 換班時段 407 爆量 | 託管憑證助手或短時權杖 |
陷阱:NO_PROXY 寫錯會弄壞 stdio MCP,而模型看似「還好」
stdio MCP 常監聽 127.0.0.1 高位埠。若 NO_PROXY 為空,部分 HTTP 堆疊仍嘗試把迴圈流量送進企業代理,表現為模型能答但檔案類工具全逾時。反過來 NO_PROXY=* 會完全繞過代理,可能違反合規。請用顯式逗號清單,並以 curl --noproxy '*' http://127.0.0.1:8765/health 對照走代理的請求。把最終字串與 plist 一併記入追蹤 無頭清單 輸出的同一 Git 儲存庫,方便稽核理解意圖。
export HTTP_PROXY=http://proxy.corp.local:8080 HTTPS_PROXY=http://proxy.corp.local:8080 NO_PROXY=127.0.0.1,localhost,169.254.169.254
常見問題
OpenClaw 更認小寫還是大寫環境變數? 多數函式庫兩者皆可;機群內請統一一種寫法,避免事故時雙重猜測。
SOCKS 是否用 ALL_PROXY? 對非 HTTP 感知的工具常需要;仍用同一套 curl 矩陣驗證。
IT 禁止磁碟存代理密碼怎麼辦? 協商短時 PAC 或側車注入標頭;無頭機群避免互動式提示—一次性權限彈窗可借助 VNC。
為何 ProxyMac Mac mini 適合硬化 OpenClaw 出站
租用的 Mac mini M4 提供 原生 macOS 信任鏈、可預期的 單租戶 CPU 以消化 TLS 密集的代理跳躍,並可在 HK / JP / KR / SG / US 選址,使控制面更靠近各雲廠商 API 區域,而非單一歐洲堡壘。你保留 SSH 取證、在 說明中心 查跨區手冊、在 定價頁 透明擴充第二台 mini 以隔離生產與預發出口策略—而無需採購五地機櫃。