雲上跑 OpenClaw Gateway,常要 MCP/HTTP 僅 tailnet、安全組無公網埠。Compose+Tailscale 側車做 up 與狀態卷,Gateway 綁 tailscale0 或 127.0.0.1;映像/埠依釘版。以下收斂網路+鑑權步驟;逾時見 MCP stdio/HTTP 教學。
一、Compose 側車:別讓 ports: 0.0.0.0 偷開公網面
側車與 Gateway 同一 Docker network,狀態卷分開,勿共用 /var/lib/tailscale。別寫 ports: "443:443" 或綁 0.0.0.0——安全組再嚴也會在資料面多公網路徑。Gateway 只聽 bridge 內或 127.0.0.1,TLS 終止用僅 tailnet 可達的反代,勿對公網 publish。
docker ps 先確認無公網映射,再調 ACL/憑證。二、Gateway 綁 tailnet:HTTPS 與 Token 兩層都要
up 後 tailscale cert 或內網 Caddy 拿tailnet 鏈。Token 用環境變數/secret,勿進映像;反代與 Gateway 各驗 Bearer。輪替後滾動重啟;auth key/ACL 與 API Key 同表。
三、Serve 與 Funnel:合規邊界別混用
Serve 限 tailnet;Funnel 上公網,合規要零公網就預設關並稽核。公網回呼另開變更單,見 Webhook 教學。對齊主機名/前綴/base path,免 404/重導迴圈。
四、連線失敗:依固定順序縮小變因
1)側車內 tailscale status,無 NeedsLogin。2)他機 ping/curl -vk https://主機名 分 ACL。3)直連 Gateway 帶 Authorization 分 TLS/401。4)僅 HTTP 壞、stdio 好→查逾時。收緊 ACL 做演練並記回滾。
- 狀態卷是否在重啟後遺失而需重新登入?
- 宿主
tailscaled與容器側車是否路由重疊?
尾段:閘道在 Linux,重活仍可落在 Mac mini
Linux 跑 Gateway 省成本,iOS 建置/簽章仍靠 macOS。重活丟獨佔 Mac mini 吃 Apple Silicon 頻寬;約 4W 待機、靜音,Gatekeeper/SIP/FileVault 顧無人機。接雲上 Mac 選 Mac mini M4 作 2026 起點——開 Macstripe 首頁 挑區域,與 Compose 同 tailnet。