2026 年 OpenClaw 生產網域存取:
Caddy 或 Nginx 反代 + TLS 與 Gateway 本機綁定清單(Docker VPS)

TLS 終結 · WebSocket · allowedOrigins · Docker 上線可複核

2026 OpenClaw 反代 TLS 與 Gateway 安全暴露面

已經在 VPS 上用 Docker 跑起 OpenClaw、準備掛上真實網域與 HTTPS的工程師,往往卡在「Gateway 該監聽哪裡、TLS 由誰終結、瀏覽器裡 Control UI 為何報跨源或不安全回落」。本文以決策表對比「僅本機回環 + 邊緣反代」與「容器埠直出公網」,給出Caddy 與 Nginx 最小反代片段WebSocket 與 X-Forwarded 標頭,以及與 allowedOrigins 協同的驗收順序;OOM 與首輪 WASM 等議題留在Docker VPS 排障長文。安裝總覽見v2026.4 安裝指南,生產暴露面清單見多通道加固文,映像回滾見釘選與回滾文

01

六類高頻痛點:為什麼「能 curl 通 localhost」仍不等於能上公網網域

Docker 場景下,真正上線還包括宿主機防火牆、Publish 只綁 127.0.0.1、憑證鏈是否完整、通道回呼 URL 是否已隨 https 切換。下列清單用於值班分診,細粒度參數仍以你目前版本的官方文件為準。

  1. 01

    0.0.0.0 習慣:把 Gateway 直接暴露在公網介面上卻未配套 WAF、頻率限制與稽核,攻擊面陡增。

  2. 02

    WebSocket 半程:反代未透傳 Upgrade / Connection,表現為面板瞬時 502 或握手失敗。

  3. 03

    Host 與 Origin 漂移:瀏覽器存取網域 A,設定仍寫死 IP 或內網別名,觸發 Control UI 與 API 的跨源保護。

  4. 04

    憑證與 DNS 順序:先於 DNS 生效申請憑證、或混用自簽與公網鏈,行動端與自動化用戶端表現不一致。

  5. 05

    磁碟與日誌:反代與容器雙路存取日誌若未輪轉,小盤 VPS 在高峰週把 inode 打滿導致「假死」。

  6. 06

    升級視窗:無釘選映像時在反代後做滾動切換,若未對齊預發布與回滾順序,會出現新舊 Gateway 行為分叉。

提示:若目前阻塞是 OOM、Exit 137、首輪 WASM 等待或 Control UI allowedOrigins 裝置配對,請優先對照排障對照表,本文不重複記憶體畫像段落。

02

暴露面決策表:本機回環 + 反代終結 TLS 何時是預設答案

下列矩陣寫給「第一次把 OpenClaw 從試驗品推到網域名下」的評審:目標是讓 HTTPS、會話通道與可觀測性在同一敘事下可驗收。

維度127.0.0.1 Gateway + 反代 TLS容器埠直綁公網
最小暴露公網只觸達 443,上游僅本機回環需獨立網路 ACL 與持續埠稽核
憑證維護集中在 Caddy / Nginx / ACME 一條鏈路應用內或 sidecar 各自維護,易漂移
WebSocket由成熟反代模組處理升級與逾時易漏頭,直連除錯掩蓋問題
可觀測邊緣與上游日誌可分段關聯 request_id需自建等價聚合與告警

生產第一性原理:讓「能登入面板」與「通道能回頭連到你公布出去的 https 主機名」在同一個驗收表上同時打勾。

埠與設定的硬提醒

  • 文件與發行說明中的 Gateway 埠(常見約定如 18789)若與你本地 overrides 不一致,請全文搜尋設定與 compose,禁止只改反代不改容器監聽。
  • allowedOrigins 需覆蓋瀏覽器實際存取的 https 來源;修改後依排障文順序冷啟驗證,避免快取誤判。
  • 多實例或藍綠時,回呼 URL 與 DNS TTL要寫進變更單,防止通道半連。
03

六步 Runbook:從 DNS 到反代片段的可複製順序

下列順序假設 Docker compose 已在僅本機可達的埠上拉起 Gateway;若尚未完成安裝,請先收斂互動精靈與 compose 基線文

  1. 01

    凍結主機名:在憑證申請前確認 A/AAAA 記錄指向目前 VPS,TTL 與維運視窗寫清。

  2. 02

    確認 Gateway 綁定:宿主機上 ss -lntp 或同等命令核實監聽是否僅在 127.0.0.1 目標埠。

  3. 03

    選擇反代:單機極簡優先 Caddy 自動 HTTPS;需要與存量 Nginx 生態拼接時用 Nginx stream/location 範本。

  4. 04

    套用最小片段:見下方塊;將上游替換為文件埠與真實主機名。

  5. 05

    對齊通道回呼:IM 或 Webhook 類通道的外部 URL 必須使用同一公網主機名與路徑前綴。

  6. 06

    記一條 golden path:從「瀏覽器開啟 https 網域」到「觸發一次無害心跳或 doctor」寫進內部 playbook,便於換班複核。

Caddyfile
openclaw.example.com {
    encode gzip
    reverse_proxy 127.0.0.1:18789
}
nginx
server {
    listen 443 ssl http2;
    server_name openclaw.example.com;
    ssl_certificate     /etc/letsencrypt/live/openclaw.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/openclaw.example.com/privkey.pem;
    location / {
        proxy_pass http://127.0.0.1:18789;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 600s;
    }
}
04

排障路由:症狀 → 更可疑的一層 → 第一步動作

把下列表當作值班便籤:每一行都應能指向具體日誌欄位或命令輸出,避免「感覺網路有問題」式結論。

症狀更可疑層次第一動作
僅 https 報錯、http 直連上游正常憑證鏈或 SNI用可信用戶端校驗鏈;核對 server_name 與憑證 CN/SAN
頁面靜態可開、即時通道秒斷WebSocket 反代逾時提高 read timeout;確認 Upgrade 頭未被清洗
主控台報跨源或 blocked originallowedOrigins 未含 https 來源改寫來源清單並全量重啟相關行程
外網 curl 502、本機 curl 200反代 upstream 指向舊埠或容器未監聽 127.0.0.1對照 compose 與 publish 映射逐跳追蹤

注意:在未讀完多通道加固清單前,不要把 Dashboard 或偵錯埠臨時改成 0.0.0.0 「方便示範」。

05

可量化基線與規模對照(寫進變更單)

下列數字為VPS 單實例常見觀察區間,用於估算磁碟與逾時,不作為廠商 SLA。

  • 反代讀逾時:長連線與部分通道會占用分鐘級會話,邊緣 proxy_read_timeout 或 Caddy 等價項建議不低於 600 秒;更短會造成假性斷開。
  • 憑證續期視窗:自動化 ACME 建議在到期前 ≥14 天能收到失敗告警;手續續期團隊應把 cron 輸出接入既有 on-call 通道。
  • 日誌增長:小到中型團隊在預設 info 層級下,反代與容器組合日誌每週數百 MB並不罕見;應在上線第一週實測 df 與 inode。
角色特徵落地建議
個人側驗流量低、可接受短暫維護單 Caddy 節點 + 單 compose 疊 + 手工變更視窗
小團隊生產日間多通道線上映像釘選 + 預發布 compose + 反代與 Gateway 分段回滾
需要接力 Mac / CI長任務與簽名並存Gateway 固定 VPS,構建移交共享 Mac 池,矩陣見前文互鏈

把家用出口或不穩定雲機當唯一入口,會疊加動態 IP、埠風控與不可預期休眠;純自建機房則拉長 TLS 與多地域冗餘熱備的建設週期,難以給通道方可複述的公網入口。

若你需要可持續對外公布 https 入口、並把長心跳 Agent 與 iOS CI 資源池拆開治理VpsMesh 的 Mac mini 雲端租賃與始終線上 VPS 組合通常是更穩的工程答案:計算與簽名負載可落在合約化節點,Gateway 與邊緣憑證仍由你方依本文 Runbook 收斂,避免「一套機器扛全世界」的隱性單點。

FAQ

常見問題

把 TLS、限速與稽核放在你熟悉的反代層,Gateway 專注會話與工具鏈;若必須直出公網,請同步落實加固清單中的暴露面條目。需要額外節點承載流量時可查租用價格雲端訂購

逐項核對瀏覽器網址列完整來源(含連接埠)是否寫入 allowedOrigins;混合內容、內嵌 IP 存取與網域名稱存取混用也會製造假象。複雜案例與 compose 裝置配對仍見Docker 排障文,自助入口在雲端說明

大多數情況下只需確認上游連接埠與健康檢查未變;涉及路徑前綴或 WebSocket 路由變更時閱讀發行說明並依釘選回滾文做雙實例驗證。