痛み
- 待受が内網なのにクライアントがループバックのまま拒否に見え実害は経路だけのことが多い。
- トークンがあるのに未認可:ファイルと環境の参照元が分裂(macOS は
launchctl getenv OPENCLAW_GATEWAY_TOKENが設定を上書きする例あり)。 - 多ノードで転送と bind だけずれキューだけ先に進み検収が後追いになる。
対照表
| 方式 | 向く場面 | 注意 |
|---|---|---|
| 直叩き | 同一ホスト | 手元から直では届かない |
| LocalForward | ジャンプ越しに仮想ループバック | 切断で消えるのでセッション運用を決める |
| 内網+境界 | 本番寄せ | validate 巡検 と併用 |
手順
- Install:README の CLI 導入で全台ビルド列を一致。
- Onboard:
configureでgateway.authを作り、秘密ファイルは権限を絞る。 - Bind:内網 IP のみ。18789 衝突は次の doctor で見る。
- doctor:
openclaw doctor(自動化は--non-interactive、修復は方針に応じ--repair)。 - SSH:
ssh -N -L 18789:GW内網:18789 user@jump、クライアントは127.0.0.1:18789。転送対照。 - 合流:
validate --profile gateway --format jsonを各ノードで取りソートdiff。ログ運用 併読。
curl -k -H "Authorization: Bearer …" https://127.0.0.1:18789/health(パスは読み替え)。
公式参照
- Install:README のセットアップを事実源に固定。
- Onboard:ウィザードでモデルと gateway 骨格を作る。
- Doctor:docs.openclaw.ai/cli/doctor(
--repair・--deep・ポート・launchctl getenv)。サービスはopenclaw gateway install。
合わせておきたい値
- ゲートウェイ待受の代表例として文書で言及される TCP 18789 を台帳に残し衝突を避ける。
- 認可は設定の
gateway.authと実リクエストのヘッダを同一ソースで管理する。 - 合流判定は各ノードの
validateJSON を正規化して差分ゼロをゴールにする。 - ジャンプホストの SSH 鍵と許可元は変更票にローテ周期を添えておく。
排障
| 症状 | 確認 | 対処 |
|---|---|---|
| 18789 拒否 | 転送先・テンネル・占有 | doctor のポート診断、SSH 張り直し |
| トークン 不通 | ヘッダ・設定・環境の優先 | launchctl getenv 後 unsetenv と再起動 |
| 未稼働 | ユニット・PID・重複 | doctor --deep と gateway install |
公開ページ
ホーム・購入・ヘルプ・OpenClaw 一覧・ブログはログイン不要。