コンテンツにスキップ

OpenClawのゲートウェイ設定とリモートアクセス環境の構築ガイド

開発中に「ローカル環境では動くのに、リモート環境に移行した途端に接続エラーが出る」という経験はありませんか?設定の不一致やポートの競合は、多くの開発者が直面する悩みの種です。

OpenClaw を活用した Gateway のリモート接続やポート管理を正しく設定することで、こうしたトラブルを未然に防ぎ、スムーズな開発環境を構築できます。

Gateway のデフォルトポートについて

Section titled “Gateway のデフォルトポートについて”

Gateway を運用する際、通信に使用されるデフォルトのポート番号を把握しておくことは非常に重要です。

ポート用途
18789HTTP/WS (メインポート)
18790gRPC (内部 RPC)

リモートモードでは、Control UI と Gateway の WebSocket 通信の両方で、ポート 18789(または設定で変更したポート)を使用します。

Gateway が既に実行中と表示される理由

Section titled “Gateway が既に実行中と表示される理由”

別のプロセスや、以前の終了処理が不完全なプロセス(ゾンビプロセス)がポート 18789 または 18790 を占有している可能性があります。

Terminal window
# Check if the daemon is alive
openclaw gateway status
# Stop the service
openclaw gateway stop
# If you forcibly need the port
lsof -i :18789
kill -9 <pid>

CLI をリモートモードで使用する方法

Section titled “CLI をリモートモードで使用する方法”

CLI コマンドに --remote <gateway-url> を追加するか、環境変数 OPENCLAW_GATEWAY_URL または設定ファイルで指定することでリモート操作が可能です。

例:

Terminal window
openclaw status --remote http://my-vps-tailnet:18789

Gateway でトークン認証を使用している場合は、OPENCLAW_GATEWAY_TOKEN 環境変数または --token フラグも併せて設定してください。

Gateway を Tailnet アドレスにバインドする方法

Section titled “Gateway を Tailnet アドレスにバインドする方法”

gateway.bind: "tailnet" を設定することで、OpenClaw は自動的に Tailscale の 100.x.x.x アドレスを検出し、そこにバインドします。この際、gateway.auth の設定も必須となります。

Tailscale が起動していない、または IP アドレスが割り当てられていない場合、Gateway は起動しません。その際、以下のようなエラーが表示されます。

Failed to bind to tailnet: no Tailscale IP found

解決策:

  1. ホスト上で Tailscale を起動する(100.x アドレスを有効にする)
  2. gateway.bind: "loopback" または "lan" に切り替える

同じホストで複数の Gateway を実行できますか?

Section titled “同じホストで複数の Gateway を実行できますか?”

基本的には推奨されません。1つの Gateway で複数のメッセージチャンネルやエージェントを管理できるためです。冗長性(レスキューボットなど)や厳格な分離が必要な場合にのみ、複数の Gateway を検討してください。

どうしても複数実行する必要がある場合は、以下の項目を分離してください。

  • 各 Gateway に異なるポートを割り当てる
  • 異なる状態ディレクトリ (OPENCLAW_STATE_DIR) を使用する
  • 異なるサービス名(カスタムユニットファイル)を使用する
  • 競合を避けるため、認証情報のパスを分ける

リモート管理(非ループバック)を有効にする方法

Section titled “リモート管理(非ループバック)を有効にする方法”

ループバック以外のバインドには認証が必要です。gateway.bind と gateway.auth を適切に設定してください。

{
gateway: {
bind: "lan", // or "tailnet" for Tailscale-only
port: 18789,
auth: {
mode: "token",
token: "replace-me-with-a-strong-token"
}
}
}

代替案として、Tailscale Serve を使用することも可能です。

Terminal window
openclaw gateway --tailscale serve

Gateway は起動しているのに Control UI が読み込まれない理由

Section titled “Gateway は起動しているのに Control UI が読み込まれない理由”

以下の点を確認してください。

  • http:// を使用し、正しいホスト名とポートを指定しているか
  • ブラウザからそのアドレスに到達できるか(ファイアウォール、Tailscale、VPN の確認)
  • Gateway の認証が設定されており、正しいトークンを持っているか

Gateway ホスト上で openclaw gateway status を実行し、プロセスが動作しているか確認してください。動作している場合は、以下のコマンドでヘルスチェックエンドポイントを叩いてみてください。

Terminal window
curl http://localhost:18789/health

設定で困ったことがあれば、AI Setup Assistant を活用して解決策を見つけてください。

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。