Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

トラブルシュートとデバッグ

最終更新 Markdown で表示Agent セットアップ

Workers VPC でよく発生するエラーをトラブルシュートし、デバッグします。

接続エラーコード

Workers VPC がプライベートサービスへの接続を確立できない場合、fetch() は何が失敗したかを示すエラーコード付きの例外をスローします。これらのエラーコードは、Cloudflare ダッシュボードの VPC Service の Metrics タブでも確認できます。

エラーは、想定される原因に基づいて 3 つのカテゴリに分類されます。これらのカテゴリは、ダッシュボードの VPC Service の Metrics タブに表示されるラベルと一致します。

  • Bad Upstream — トンネルまたはプライベートサービスに到達できません。トンネルのヘルス、サービスの可用性、ネットワーク / TLS 設定を確認します。
  • Client — VPC Service の設定または Worker のコードが失敗の原因です。ターゲットのホスト名と Worker のリクエスト動作を確認します。
  • Internal — Cloudflare インフラの問題です。継続する場合は Cloudflare サポートに連絡してください。

Bad Upstream エラー

これらのエラーは、Cloudflare がプライベートサービスへの到達を試みたが接続に失敗したことを示します。トンネルが停止している、サービスが待ち受けていない、または Cloudflare とオリジンのあいだにネットワーク / TLS の問題がある可能性があります。

エラーコード 説明 推奨する対処
connection_refused プライベートサービスが TCP 接続を拒否しました。 サービスが稼働し、想定ポートで待ち受けていることを確認します。ファイアウォールルールも確認します。
connection_terminated 応答を受け取る前に、サービス側で接続が閉じられました。 クラッシュやリソース枯渇がないか、サービスのログを確認します。
connection_timeout サービスへの接続試行がタイムアウトしました。 トンネルからサービスに到達できることを確認します。トラフィックを遮断するネットワークレイテンシやファイアウォールルールがないか確認します。
connection_limit_reached サービスへの同時接続数が上限に達しました。 より多くの接続を扱えるようサービスをスケールするか、Worker 側の同時接続数を減らします。
destination_unavailable サービスが利用不可と見なされています。 トンネルが稼働し、サービスが健全であることを確認します。
destination_not_found このリクエストのルートを決定できませんでした。 VPC Service の設定が有効なホストを指していること、トンネルがそのホストへトラフィックをルーティングするよう設定されていることを確認します。
destination_ip_prohibited 宛先 IP アドレスが禁止されています。 VPC Service に設定した IP アドレスが正しく、制限リストに含まれていないことを確認します。
destination_ip_unroutable 宛先 IP へのネットワークルートがありません。 IP アドレスが正しく、プライベートネットワーク内から到達できることを確認します。
proxy_loop_detected リクエストが同じプロキシに戻され、ループが発生します。 VPC Service とトンネルの設定に循環ルーティングがないか確認します。
dns_error DNS 解決に失敗しました(例: SERVFAIL)。 VPC Service に設定したホスト名が、プライベートネットワーク内から解決できることを確認します。DNS リゾルバーが正しく動作していることも確認します。よくある DNS 原因は トンネルエラー を参照してください。
dns_timeout DNS 解決がタイムアウトしました。 DNS リゾルバーに到達でき、応答していることを確認します。VPC Service 設定でカスタム DNS リゾルバーの構成も検討します。
tls_protocol_error サービスへの接続時に TLS ハンドシェイクまたはプロトコルエラーが発生しました。 サービスの TLS 設定を確認します。TLS バージョンと暗号スイートに互換性があることを確認します。
tls_certificate_error サービスの TLS 証明書の検証に失敗しました。 サービスが 公的に信頼される CA または Cloudflare Origin CA 証明書 の有効な証明書を提示していることを確認します。
http_request_error HTTP リクエストエラーが発生しました。 エラー応答の原因について、サービスのログを確認します。
http_upgrade_failed HTTP アップグレード(例: WebSocket)に失敗しました。 サービスが要求されたプロトコルアップグレードに対応していることを確認します。
http_request_denied 転送前にポリシーによってリクエストが拒否されました。 サービスのアクセスポリシーと設定を確認します。
http_protocol_error サービスとの通信中に HTTP プロトコルエラーが発生しました。 サービスが有効な HTTP で応答していることを確認します。
http_response_incomplete サービスが不完全な HTTP 応答を返しました。 応答の途中で接続を閉じる原因がないか、サービスを確認します。

Client エラー

これらのエラーは、プライベートサービス自体ではなく、VPC Service のセットアップまたは Worker の動作に問題があることを示します。

エラーコード 説明 推奨する対処
dns_error (NXDOMAIN) VPC Service に設定したホスト名が DNS に存在しません。 VPC Service 設定のホスト名が正しく、そのホスト名の DNS レコードが存在することを確認します。
connection_read_timeout 接続は確立されましたが、制限時間内にデータを受信できませんでした。 停滞または遅いリクエストがないか Worker のコードを確認します。Worker が応答を速やかに読み取っていることを確認します。
connection_write_timeout 接続へデータを書き込めませんでした(バッファーがいっぱいです)。 応答データの消費が遅くないか、Worker のコードを確認します。
rate_limited このオリジンへの接続レート制限を超えました。 このサービスへの Worker からの新規接続レートを下げます。

Internal エラー

これらのエラーは、設定やオリジンサービスが原因ではない、Cloudflare インフラ内の問題を示します。

エラーコード 説明 推奨する対処
proxy_internal_error Cloudflare プロキシ内で内部エラーが発生しました。 設定が原因ではありません。このエラーが続く場合は Cloudflare サポート に連絡してください。

トンネルエラー

Workers VPC は、Cloudflare Tunnel 経由でプライベートサービスに接続するときに、ランタイムでエラーを返すことがあります。

エラーメッセージ 詳細 推奨する対処
Error: ProxyError: dns_error トンネル経由でプライベートサービスへ接続しようとしたとき、DNS 解決に失敗しました。 このエラーは cloudflared のバージョンが古い場合に発生することがあります。cloudflared バージョン 2025.7.0 以降(最新版を推奨)を実行していることを確認します。Cloudflare Tunnel の更新手順 を参照してください。
Error: ProxyError: dns_error Cloudflare Tunnel が http2 プロトコル(TUNNEL_TRANSPORT_PROTOCOL:http2)で設定されている可能性があります。これは Cloudflare Zero Trust のトラフィックでは動作しますが (注を参照)、Workers VPC からの DNS 解決を妨げます。 Workers VPC では、Cloudflare Tunnel が QUIC トランスポートプロトコル で接続する必要があります。ファイアウォールでポート 7844 の送信 UDP トラフィックが許可されていることを確認します。
リクエストが VPC 内に留まらない 公開ホスト名を使った .fetch() の Worker リクエストが、VPC の外へ、VPC Service に設定したホスト名へルーティングされています。 Worker のコードと VPC Service では、バックエンドサービスに公開ホスト名ではなく、内部 VPC ホスト名を使ってください。

権限エラー

ダッシュボードまたは Wrangler で VPC Services と Tunnels の表示、作成、バインドができない場合は、ユーザーに必要なロールがあることを確認します。

Workers VPC は次のアカウントロールを使います。

  • Workers VPC Services と Tunnels を表示するための Connectivity Directory Read
  • Workers で VPC Services を一覧表示、読み取り、バインドするための Connectivity Directory Bind
  • VPC Services の作成、更新、削除、および VPC Network バインディング経由でトンネルへ直接バインドするための Connectivity Directory Admin

ロールの定義は ロール を参照してください。

ロールを最近更新したあとでもコマンドが失敗する場合は、Wrangler の認証を更新します。

npx wrangler logout
npx wrangler login

API トークン(CLOUDFLARE_API_TOKEN)で認証する場合は、トークンが必要なロールを持つユーザーに属していることを確認してください。

役に立ちましたか?