OpenClaw は、ランタイムの HTTP および WebSocket トラフィックを、オペレーター管理のフォワードプロキシ経由でルーティングできます。これは、中央集権的なアウトバウンド制御、より強い SSRF 保護、より優れたネットワーク監査性を求めるデプロイ向けの任意の多層防御です。 OpenClaw はプロキシを同梱、ダウンロード、起動、設定、または認定しません。環境に合うプロキシ技術をユーザーが実行し、OpenClaw は通常のプロセスローカルな HTTP および WebSocket クライアントをそこにルーティングします。Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
プロキシを使う理由
プロキシは、アウトバウンド HTTP および WebSocket トラフィックに対する単一のネットワーク制御点をオペレーターに提供します。これは SSRF 強化以外でも有用です。- 中央ポリシー: すべてのアプリケーション HTTP 呼び出し箇所がネットワークルールを正しく扱うことに依存せず、1 つのアウトバウンドポリシーを維持できます。
- 接続時チェック: DNS 解決後、プロキシが上流接続を開く直前に宛先を評価します。
- DNS リバインディング防御: アプリケーションレベルの DNS チェックと実際のアウトバウンド接続の間の隙間を減らします。
- より広い JavaScript カバレッジ: 通常の
fetch、node:http、node:https、WebSocket、axios、got、node-fetch、および類似のクライアントを同じ経路にルーティングします。 - 監査性: アウトバウンド境界で許可および拒否された宛先をログに記録します。
- 運用制御: OpenClaw を再ビルドせずに、宛先ルール、ネットワーク分離、レート制限、またはアウトバウンド許可リストを適用できます。
OpenClaw がトラフィックをルーティングする方法
proxy.enabled=true でプロキシ URL が設定されている場合、openclaw gateway run、openclaw node run、openclaw agent --local などの保護されたランタイムプロセスは、通常の HTTP および WebSocket アウトバウンドを設定済みプロキシ経由でルーティングします。
localhost、または 127.0.0.1 や [::1] のようなリテラルのループバック IP を使う場合、local loopback Gateway RPC トラフィックに対して狭い直接経路を使用します。このコントロールプレーン経路は、オペレータープロキシがループバック宛先をブロックする場合でも、ループバック Gateway に到達できる必要があります。通常のランタイム HTTP および WebSocket リクエストは引き続き設定済みプロキシを使用します。
内部的には、OpenClaw はこの機能に 2 つのプロセスレベルのルーティングフックを使用します。
- Undici ディスパッチャールーティングは、
fetch、undici ベースのクライアント、および独自の undici ディスパッチャーを提供するトランスポートを対象にします。 global-agentルーティングは、http.request、https.request、http.get、https.getの上に重ねられた多くのライブラリを含む、Node コアのnode:httpおよびnode:https呼び出し元を対象にします。管理プロキシモードではそのグローバルエージェントを強制するため、明示的な Node HTTP エージェントがオペレータープロキシを誤って迂回することはありません。
OPENCLAW_PROXY_URL フォールバックに従います。
プロキシ URL 自体は http:// を使用する必要があります。HTTPS 宛先も HTTP CONNECT によりプロキシ経由で引き続きサポートされます。これは、OpenClaw が http://127.0.0.1:3128 のようなプレーン HTTP フォワードプロキシリスナーを想定しているという意味にすぎません。
プロキシがアクティブな間、OpenClaw は no_proxy、NO_PROXY、GLOBAL_AGENT_NO_PROXY をクリアします。これらの迂回リストは宛先ベースであるため、そこに localhost や 127.0.0.1 を残すと、高リスクの SSRF ターゲットがフィルタリングプロキシをスキップできてしまいます。
シャットダウン時、OpenClaw は以前のプロキシ環境を復元し、キャッシュされたプロセスルーティング状態をリセットします。
関連するプロキシ用語
proxy.enabled/proxy.proxyUrl: OpenClaw ランタイムアウトバウンド向けのアウトバウンドフォワードプロキシルーティング。このページはその機能を説明します。gateway.auth.mode: "trusted-proxy": Gateway アクセス向けのインバウンド identity-aware リバースプロキシ認証。信頼済みプロキシ認証を参照してください。openclaw proxy: 開発およびサポート向けのローカルデバッグプロキシとキャプチャインスペクター。openclaw proxyを参照してください。tools.web.fetch.useTrustedEnvProxy: デフォルトの厳密な DNS ピン留めとホスト名ポリシーを維持しながら、web_fetchがオペレーター制御の HTTP(S) 環境プロキシに DNS 解決を任せられるようにするオプトイン。Web fetchを参照してください。- チャネルまたはプロバイダー固有のプロキシ設定: 特定のトランスポート向けの所有者固有の上書き。目的がランタイム全体の中央集権的なアウトバウンド制御である場合は、管理対象ネットワークプロキシを優先してください。
設定
proxy.enabled=true を維持しながら、環境経由で URL を指定することもできます。
proxy.proxyUrl は OPENCLAW_PROXY_URL より優先されます。
Gateway ループバックモード
ローカル Gateway コントロールプレーンクライアントは通常、ws://127.0.0.1:18789 のようなループバック WebSocket に接続します。管理プロキシがアクティブな間にそのトラフィックがどのように動作するかを選ぶには、proxy.loopbackMode を使用します。
gateway-only(デフォルト): OpenClaw は Gateway ループバック authority をアクティブなglobal-agentNO_PROXYコントローラーに登録し、ローカル Gateway WebSocket トラフィックが直接接続できるようにします。アクティブな Gateway URL のホストとポートが登録されるため、カスタムループバック Gateway ポートも機能します。proxy: OpenClaw は Gateway ループバックNO_PROXYauthority を登録しないため、ローカル Gateway トラフィックは管理プロキシ経由で送信されます。プロキシがリモートにある場合、OpenClaw ホストのループバックサービスへの特別なルーティングを提供する必要があります。たとえば、プロキシから到達可能なホスト名、IP、またはトンネルにマッピングします。標準的なリモートプロキシは、127.0.0.1とlocalhostを OpenClaw ホストからではなくプロキシホストから解決します。block: OpenClaw は、ソケットを開く前にループバック Gateway コントロールプレーン接続を拒否します。
enabled=true だが有効なプロキシ URL が設定されていない場合、保護されたコマンドは直接ネットワークアクセスにフォールバックせず、起動に失敗します。
openclaw gateway start で開始する管理対象 Gateway サービスでは、URL を設定に保存することを推奨します。
OPENCLAW_PROXY_URL を $OPENCLAW_STATE_DIR/.env や ~/.openclaw/.env などのサービスの永続環境に置き、その後サービスを再インストールして、launchd、systemd、または Scheduled Tasks がその値で Gateway を開始するようにします。
openclaw --container ... コマンドでは、OPENCLAW_PROXY_URL が設定されている場合、OpenClaw はそれをコンテナー対象の子 CLI に転送します。URL はコンテナー内部から到達可能である必要があります。127.0.0.1 はホストではなくコンテナー自身を指します。OpenClaw は、その安全チェックを明示的に上書きしない限り、コンテナー対象コマンドのループバックプロキシ URL を拒否します。
プロキシ要件
プロキシポリシーがセキュリティ境界です。OpenClaw は、プロキシが正しいターゲットをブロックしていることを検証できません。 次のようにプロキシを設定してください。- ループバックまたはプライベートな信頼済みインターフェイスのみにバインドします。
- OpenClaw プロセス、ホスト、コンテナー、またはサービスアカウントだけが使用できるようにアクセスを制限します。
- 宛先をプロキシ自身で解決し、DNS 解決後に宛先 IP をブロックします。
- プレーン HTTP リクエストと HTTPS
CONNECTトンネルの両方について、接続時にポリシーを適用します。 - ループバック、プライベート、リンクローカル、メタデータ、マルチキャスト、予約済み、またはドキュメント用範囲に対する宛先ベースの迂回を拒否します。
- DNS 解決経路を完全に信頼していない限り、ホスト名許可リストは避けます。
- リクエスト本文、認可ヘッダー、Cookie、その他のシークレットをログに記録せずに、宛先、判断、ステータス、理由をログに記録します。
- プロキシポリシーをバージョン管理下に置き、セキュリティ上重要な設定と同様に変更をレビューします。
推奨されるブロック対象宛先
この拒否リストを、あらゆるフォワードプロキシ、ファイアウォール、またはアウトバウンドポリシーの出発点として使用してください。 OpenClaw のアプリケーションレベル分類ロジックはsrc/infra/net/ssrf.ts と src/shared/net/ip.ts にあります。関連するパリティフックは BLOCKED_HOSTNAMES、BLOCKED_IPV4_SPECIAL_USE_RANGES、BLOCKED_IPV6_SPECIAL_USE_RANGES、RFC2544_BENCHMARK_PREFIX、および NAT64、6to4、Teredo、ISATAP、IPv4 マップ形式に対する埋め込み IPv4 sentinel 処理です。これらのファイルは外部プロキシポリシーを維持する際の有用な参照ですが、OpenClaw はそれらのルールをユーザーのプロキシに自動的にエクスポートまたは適用しません。
| 範囲またはホスト | ブロックする理由 |
|---|---|
127.0.0.0/8, localhost, localhost.localdomain | IPv4 ループバック |
::1/128 | IPv6 ループバック |
0.0.0.0/8, ::/128 | 未指定およびこのネットワークのアドレス |
10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 | RFC1918 プライベートネットワーク |
169.254.0.0/16, fe80::/10 | リンクローカルアドレスと一般的なクラウドメタデータ経路 |
169.254.169.254, metadata.google.internal | クラウドメタデータサービス |
100.64.0.0/10 | キャリアグレード NAT 共有アドレス空間 |
198.18.0.0/15, 2001:2::/48 | ベンチマーク用範囲 |
192.0.0.0/24, 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 2001:db8::/32 | 特殊用途およびドキュメント用範囲 |
224.0.0.0/4, ff00::/8 | マルチキャスト |
240.0.0.0/4 | 予約済み IPv4 |
fc00::/7, fec0::/10 | IPv6 ローカル/プライベート範囲 |
100::/64, 2001:20::/28 | IPv6 discard および ORCHIDv2 範囲 |
64:ff9b::/96, 64:ff9b:1::/48 | 埋め込み IPv4 を含む NAT64 プレフィックス |
2002::/16, 2001::/32 | 埋め込み IPv4 を含む 6to4 および Teredo |
::/96, ::ffff:0:0/96 | IPv4 互換および IPv4 マップ IPv6 |
検証
OpenClaw を実行するのと同じホスト、コンテナー、またはサービスアカウントからプロキシを検証します。https://example.com/ が成功することを確認し、プロキシが到達してはならない一時的なループバックカナリアを開始します。デフォルトの拒否チェックは、プロキシが 2xx 以外の拒否レスポンスを返すか、トランスポート障害でカナリアをブロックした場合に成功します。成功レスポンスがカナリアに到達した場合は失敗します。プロキシが有効化および設定されていない場合、検証は設定の問題を報告します。設定を変更する前の一回限りのプリフライトには --proxy-url を使用してください。デプロイ固有の期待値をテストするには --allowed-url と --denied-url を使用してください。プロキシ経由で直接 APNs HTTP/2 配信が CONNECT トンネルを開き、サンドボックス APNs レスポンスを受信できることも確認するには、--apns-reachable を追加してください。このプローブは意図的に無効なプロバイダートークンを使用するため、403 InvalidProviderToken が期待され、到達可能として扱われます。カスタム拒否宛先はフェイルクローズです。HTTP レスポンスがある場合は宛先がプロキシ経由で到達可能だったことを意味し、トランスポートエラーは、OpenClaw が到達可能なオリジンをプロキシがブロックしたことを証明できないため、不確定として報告されます。検証に失敗すると、このコマンドはコード 1 で終了します。
自動化には --json を使用してください。JSON 出力には、全体の結果、有効なプロキシ設定のソース、設定エラー、および各宛先チェックが含まれます。プロキシ URL の認証情報は、テキスト出力と JSON 出力で編集されます。
curl で手動検証することもできます。
openclaw proxy validate では、組み込みのループバックカナリアがプロキシによる拒否と到達可能なオリジンを区別できます。カスタム --denied-url チェックにはそのカナリアがないため、プロキシがデプロイ固有の拒否シグナルを公開し、それを別途検証できる場合を除き、HTTP レスポンスと曖昧なトランスポート障害の両方を検証失敗として扱ってください。
次に、OpenClaw プロキシルーティングを有効にします。
制限
- プロキシは、プロセスローカルの JavaScript HTTP および WebSocket クライアントのカバレッジを向上させますが、OS レベルのネットワークサンドボックスではありません。
- Gateway ループバック制御プレーントラフィックは、デフォルトで
proxy.loopbackMode: "gateway-only"による直接ローカルバイパスになります。OpenClaw は、アクティブな Gateway ループバック authority を管理対象のglobal-agentNO_PROXYコントローラーに登録することで、このバイパスを実装します。運用者はproxy.loopbackMode: "proxy"を設定して Gateway ループバックトラフィックを管理対象プロキシ経由で送信するか、proxy.loopbackMode: "block"を設定してループバック Gateway 接続を拒否できます。リモートプロキシの注意点については、Gateway ループバックモード を参照してください。 - 生の
net、tls、http2ソケット、ネイティブアドオン、および OpenClaw 以外の子プロセスは、プロキシ環境変数を継承して尊重しない限り、Node レベルのプロキシルーティングをバイパスする可能性があります。フォークされた OpenClaw 子 CLI は、管理対象プロキシ URL とproxy.loopbackMode状態を継承します。 - IRC は、運用者が管理するフォワードプロキシルーティングの外側にある生の TCP/TLS チャンネルです。すべての外向き通信をそのフォワードプロキシ経由にする必要があるデプロイでは、直接 IRC 外向き通信が明示的に承認されていない限り、
channels.irc.enabled=falseを設定してください。 - ローカルデバッグプロキシは診断ツールであり、プロキシリクエストと CONNECT トンネルの直接アップストリーム転送は、管理対象プロキシモードがアクティブな間はデフォルトで無効です。承認済みのローカル診断の場合にのみ、直接転送を有効にしてください。
- ユーザーのローカル WebUI とローカルモデルサーバーは、必要に応じて運用者のプロキシポリシーで許可リストに追加する必要があります。OpenClaw はそれらに対する一般的なローカルネットワークバイパスを公開しません。
- Gateway 制御プレーンのプロキシバイパスは、意図的に
localhostとリテラルのループバック IP URL に限定されています。ローカル直接 Gateway 制御プレーン接続には、ws://127.0.0.1:18789、ws://[::1]:18789、またはws://localhost:18789を使用してください。その他のホスト名は、通常のホスト名ベースのトラフィックと同様にルーティングされます。 - OpenClaw は、プロキシポリシーを検査、テスト、または認証しません。
- プロキシポリシーの変更は、セキュリティ上重要な運用変更として扱ってください。
| サーフェス | 管理対象プロキシの状態 |
|---|---|
fetch、node:http、node:https、一般的な WebSocket クライアント | 設定されている場合、管理対象プロキシフック経由でルーティングされます。 |
| APNs 直接 HTTP/2 | APNs 管理対象 CONNECT ヘルパー経由でルーティングされます。 |
| Gateway 制御プレーンループバック | 設定された local loopback Gateway URL に対してのみ直接接続します。 |
| デバッグプロキシのアップストリーム転送 | ローカル診断用に明示的に有効化されていない限り、管理対象プロキシモードがアクティブな間は無効です。 |
| IRC | 生の TCP/TLS です。管理対象 HTTP プロキシモードではプロキシされません。直接 IRC 外向き通信が承認されていない限り無効化してください。 |
その他の生の net、tls、または http2 クライアント呼び出し | land する前に、生ソケットガードによって分類する必要があります。 |