ClawTank
ドキュメント活用法ブログ今すぐデプロイ
すべての記事
OpenClaw リバースプロキシ設定:Caddy、Nginx&Trusted Proxies

OpenClaw リバースプロキシ設定:Caddy、Nginx&Trusted Proxies

2025年11月15日|3 分で読める
目次
  • なぜリバースプロキシを使うのか?
  • Trusted Proxies 設定
  • trustedProxies の役割
  • Caddy セットアップ
  • Caddyfile
  • Caddy 用 OpenClaw 設定
  • Caddy のリロード
  • Nginx セットアップ
  • Nginx 設定
  • SSL 証明書の取得(Certbot)
  • Nginx 用 OpenClaw 設定
  • Traefik セットアップ
  • docker-compose.yml
  • DNS 設定
  • セキュリティ監査
  • トラブルシューティング
  • "trusted_proxies_missing" 警告
  • ダッシュボードは読み込まれるが接続できない
  • 証明書エラー
  • 502 Bad Gateway
  • 事前設定済みプロキシ

まだ OpenClaw をインストールしていませんか?

curl -fsSL https://openclaw.ai/install.sh | bash
iwr -useb https://openclaw.ai/install.ps1 | iex
curl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

パソコンへの影響が心配?ClawTank なら60秒でクラウドデプロイ、ファイルへのリスクゼロ。

OpenClaw をリバースプロキシの背後で実行すると、HTTPS、カスタムドメイン、および1台のサーバーで複数のサービスを実行する機能が得られます。Caddy、Nginx、または Traefik で正しく設定する方法を紹介します。

なぜリバースプロキシを使うのか?

  • auto-TLS による HTTPS:Let's Encrypt による無料 SSL 証明書
  • カスタムドメイン:openclaw.yourdomain.com で OpenClaw にアクセス
  • セキュリティ:ゲートウェイポートをパブリックインターネットから隠す
  • マルチサービス:同じサーバーで OpenClaw を他のアプリと並行して実行

Trusted Proxies 設定

これが最も重要なステップです。これがないと、OpenClaw は本物のローカル接続とスプーフィングされた接続を区別できません。

openclaw config set gateway.trustedProxies '["127.0.0.1"]'

これをスキップすると、以下が表示されます:

WARN  gateway.trusted_proxies_missing
      Reverse proxy headers are not trusted.

そして、OpenClaw のローカルクライアントチェックがプロキシを通じて正しく機能しなくなります。

trustedProxies の役割

リクエストがリバースプロキシを通過すると、元のクライアント IP が失われます。プロキシは X-Forwarded-For ヘッダーでそれを追加し直します。しかし、OpenClaw は trustedProxies リスト内の IP からのこれらのヘッダーのみを信頼します。

これがないと:

  • OpenClaw はすべてのリクエストを 127.0.0.1(プロキシ)からのものとして認識します
  • クライアントごとのアクセス制御を適用できません
  • セキュリティ監査が trusted_proxies_missing をフラグします

Caddy セットアップ

Caddy が最も簡単なオプションです — 自動 HTTPS、最小限の設定。

あなた専用の AI アシスタントをデプロイ

ClawTank なら OpenClaw を簡単にデプロイ — サーバー・Docker・SSH 不要。14日間無料トライアル付き。

無料トライアルを始める

Caddyfile

openclaw.yourdomain.com {
    reverse_proxy localhost:3001
}

これだけです。Caddy が自動的に:

  • Let's Encrypt 証明書を取得
  • HTTPS 終端を処理
  • リクエストを OpenClaw に転送

Caddy 用 OpenClaw 設定

openclaw config set gateway.mode local
openclaw config set gateway.trustedProxies '["127.0.0.1"]'
openclaw restart

Caddy のリロード

caddy reload --adapter caddyfile --config /etc/caddy/Caddyfile

重要: リロード時には必ず --adapter caddyfile を含めてください。これがないと、Caddy がサイレントに失敗する場合があります。

Nginx セットアップ

Nginx 設定

server {
    listen 443 ssl;
    server_name openclaw.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/openclaw.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/openclaw.yourdomain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:3001;
        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-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

server {
    listen 80;
    server_name openclaw.yourdomain.com;
    return 301 https://$server_name$request_uri;
}

重要なポイント:

  • WebSocket サポート:Upgrade と Connection ヘッダーは OpenClaw のリアルタイム接続に必要です
  • 転送ヘッダー:X-Real-IP と X-Forwarded-For が実際のクライアント IP を OpenClaw に渡します
  • HTTPS リダイレクト:すべてのトラフィックを HTTPS に強制

SSL 証明書の取得(Certbot)

sudo certbot --nginx -d openclaw.yourdomain.com

Nginx 用 OpenClaw 設定

openclaw config set gateway.mode local
openclaw config set gateway.trustedProxies '["127.0.0.1"]'
openclaw restart

Traefik セットアップ

docker-compose.yml

services:
  traefik:
    image: traefik:v3.0
    command:
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.le.acme.httpchallenge.entrypoint=web"
      - "--certificatesresolvers.le.acme.email=you@example.com"
      - "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "letsencrypt:/letsencrypt"

  openclaw:
    image: openclaw-stack
    labels:
      - "traefik.http.routers.openclaw.rule=Host(`openclaw.yourdomain.com`)"
      - "traefik.http.routers.openclaw.tls.certresolver=le"
      - "traefik.http.services.openclaw.loadbalancer.server.port=3001"
    environment:
      - OPENCLAW_GATEWAY_TOKEN=your-stable-token

DNS 設定

ドメインをサーバーの IP に向けてください:

Type: A
Name: openclaw(または任意のサブドメイン)
Value: YOUR_SERVER_IP
TTL: 300

Cloudflare ユーザーへ: Cloudflare の無料プランでワイルドカードサブドメインを使用する場合、DNS レコードを Proxied(オレンジの雲)ではなく DNS only(グレーの雲)に設定してください。Cloudflare の無料プランはプロキシされたワイルドカード DNS レコードをサポートしていません。

セキュリティ監査

プロキシを設定した後、OpenClaw のセキュリティ監査を実行してください:

openclaw security audit

以下が表示されるはずです:

OK  gateway.trusted_proxies — reverse proxy headers are trusted

より詳細な分析には:

openclaw security audit --deep

これは以下をチェックします:

  • Trusted Proxy 設定
  • 攻撃面(開いているポート、有効なツール)
  • Webhook セキュリティ
  • ブラウザコントロール設定

トラブルシューティング

"trusted_proxies_missing" 警告

openclaw config set gateway.trustedProxies '["127.0.0.1"]'
openclaw restart

ダッシュボードは読み込まれるが接続できない

WebSocket 接続には特別なプロキシ設定が必要です。プロキシが Upgrade と Connection ヘッダーを渡していることを確認してください。

証明書エラー

  • 証明書をリクエストする前に DNS がサーバーを指している必要があります
  • HTTP-01 チャレンジ(Let's Encrypt)のためにポート 80 が開いている必要があります
  • 初回の証明書発行時には Cloudflare プロキシを無効にする必要があります

502 Bad Gateway

OpenClaw が実行されていないか、期待されるポートにない場合:

openclaw status
openclaw config get gateway.port

事前設定済みプロキシ

ClawTank はリバースプロキシ、TLS 証明書、サブドメインルーティングを自動的に処理します。各インスタンスに独自の HTTPS サブドメインが割り当てられます — プロキシ設定は不要です。

この記事はいかがでしたか?

新しいガイドやチュートリアルの公開時にお知らせします。

関連記事

OpenClaw セキュリティ監査:リバースプロキシ、Trusted Proxies&ゲートウェイ強化 [2026]

OpenClaw セキュリティ監査:リバースプロキシ、Trusted Proxies&ゲートウェイ強化 [2026]

3 min read

OpenClaw をデプロイしませんか?

Docker・SSH・DevOps 不要。1分以内でセットアップ。

無料トライアルを始める
ClawTank
利用規約プライバシー