vpshalo 多區跑 OpenClaw v2026.5.x 時,公網 TLS 與本機閘道之間可用 nginx streamSNI 後轉 loopback;並將 status/doctor 合成單面、多區失敗五分鐘窗合併。與 Traefik 文frp 文分題。

延伸:loopback SSHMagicDNS首頁價格說明與支援。章節:拓撲stream憑證權杖探針合併步驟FAQ

痛點:1 Traefik 兼當萬用 TCP 前置致除錯混線。2 frp 適穿透但與「每區公網憑證」敘事易混。3 status/doctor 分圖難對齊跨區時間線。

邊界元件 典型強項 與本文 stream 閘道分工
Traefik(L7) Ingress、Let us Encrypt、HTTP 中間件 保留給儀表與公開網域路由;OpenClaw 前置 TLS 若需純四層 SNI,改用 stream 較直觀
frp STCP 訪客、無公網埠、反向串聯 與本架構可並存於不同 PoP;勿把 STCP 敘事混寫進同埠多 SNI 的 nginx map
nginx stream ssl_preread、同 IP 多 SNI、低狀態轉發 本文主線:公網監聽 → map → 127.0.0.1 閘道埠

多區域拓撲與 TLS 終止邊界

三層敘事:邊緣為各節點 nginx stream 公網監聽;閘道為 OpenClaw,僅綁 127.0.0.1後段為建置機或 SSH 鏈。私鑰與閘道權杖分桶;stream 只做位元組與 SNI,七層政策留在 Traefik/應用。各區埠語意一致(如本機一八八一/一八八二)便於儀表,僅改 map 標的、少動閘道旗標。

stream 模組與 SNI 分流(配置片段)

ssl_preread 讀 SNI 後 proxy_pass 至本機;替換主機名與埠,nginx -t 再 reload。http 與 stream 埠勿重疊。

# /etc/nginx/nginx.conf  (stream 區;示意)
stream {
  map $ssl_preread_server_name $oc_backend {
    default           127.0.0.1:18881;
    claw.example.com  127.0.0.1:18881;
    claw-d.example.com 127.0.0.1:18882;
  }
  server {
    listen 443 reuseport;
    ssl_preread on;
    proxy_pass $oc_backend;
    proxy_connect_timeout 5s;
    proxy_timeout 3600s;
  }
}

驗證:openssl s_client -servername claw.example.com -connect 公網:443;錯誤 SNI 應走 default 或拒連。

憑證與閘道權杖(令牌)

憑證私鑰建議0640、群組 nginx;輪替先複製再 rename。v2026.5.x 權杖用 systemd drop-in 或祕鑰管理注入環境變數,勿進版控。多區採同名異值利於稽核外洩區。

合規提醒:將閘道僅綁 loopback 並不代表可忽略 TLS 版本政策;仍須關閉過時密文套件並記錄 reload 與權杖輪替時間戳。

健康探針與 status/doctor 合併摘要

腳本週期抓取 statusdoctor,合併單一 JSON(例:regiontsstatus_okdoctor_checks)。跨區以五分鐘窗聚成摘要列附最後成功時間,減告警風暴;資料來自 loopback 直抓,與 frp Visitor 路徑分題。

訊號來源 建議欄位 合併後用途
status 就緒、版本、工作階段數 健康分數與 SLA 看板
doctor 相依、磁碟、DNS、埠占用 排障排序與開票標籤
跨區窗 區碼、失敗次數、最後成功時間 單一告警列連回 raw

最小可複現落地步驟(建議依序)

  • 1 畫拓撲:標公網 stream、loopback 閘道埠、後段 SSH 或 API,並與 Traefik/frp 邊界寫清「不重疊責任」。
  • 2 啟 stream:建立 map $ssl_preread_server_name,預設路徑指向安全sink或維護頁上游。
  • 3 綁定閘道:OpenClaw 設定為僅 127.0.0.1,確認無其他介面監聽同一服務埠。
  • 4 憑證與權杖:套用檔案權限與 systemd 環境檔;輪替演練寫入 Runbook。
  • 5 合併探針:部署合併腳本、五分鐘窗聚合、連回各區 raw。
  • 6 驗收:s_client 驗 SNI、合成 JSON 對照手動 curl、回滾為還原舊 map 並 reload。

常見問題(FAQ)

問:stream 是否終止 TLS? 答:常見為直通(閘道自解);nginx 僅 preread SNI。

問:與 frp 並存? 答:可;埠與 Runbook 敘事分開,避免 STCP 逾時誤判為 SNI map。

問:v2026.5.x 變更? 答:以發行說明為準;欄位改名時合併腳本做相容映射

三句可貼進 Runbook

  • 拓撲 公網 stream、loopback 閘道、後段建置鏈三點一線,缺一段即停止變更。
  • 分流 以 SNI map 表達意圖,不以「再多一層七層路由」掩蓋四層問題。
  • 觀測 status 與 doctor 先合併再跨區窗聚合,告警才有唯一時間線。
免責:介面隨版變更;映像與官方文件為準。發行版若無 ssl_preread 請換套件或自建編譯。

stream 定四層、loopback 縮面、合併探針收斂告警,即多區 OpenClaw 在 vpshalo 的最小套路。

說明支援 · 首頁 · OpenClaw 系列

需要節點或文件導覽?

先查 說明與支援首頁;同系列可讀 frp STCP 閘道JumpHost 與代理loopback SSH。下單請至 購買

地區購買:東京 · 首爾 · 香港 · 新加坡 · 美西

立即租用遠端 Mac 查看方案 說明與支援 更多 OpenClaw 文章