Skip to content

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

Cloudflare HTTP ヘッダー

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

リクエストヘッダー

Cloudflare は、すべての HTTP リクエストヘッダーをオリジン Web サーバーへ渡し、次に示す追加ヘッダーを付けます。

Accept-Encoding

受信リクエストでは、このヘッダーの値は常に accept-encoding: br, gzip に設定されます。クライアントが accept-encoding: deflate など別の値を設定していても上書きされ、元の値は request.cf.clientAcceptEncoding で参照できます。

CF-Connecting-IP

CF-Connecting-IP は、Cloudflare に接続しているクライアントの IP アドレスをオリジン Web サーバーへ伝えます。 このヘッダーは、Cloudflare のエッジからオリジン Web サーバーへのトラフィックにだけ送られます。

訪問者の元の IP アドレスをログに残す方法は、元の訪問者 IP を復元する を参照してください。

CF-Connecting-IP や、訪問者の IP アドレスを含む可能性のある HTTP ヘッダーを受け取らない場合は、Remove visitor IP headers Managed Transform を有効 にします。

Worker サブリクエストでの CF-Connecting-IP

同一ゾーン内の Worker サブリクエストでは、CF-Connecting-IP の値は x-real-ip(クライアントの IP)を反映します。x-real-ip は、Worker スクリプト内でユーザーが変更できます。

ある Cloudflare ゾーンから別の Cloudflare ゾーンへのクロスゾーンサブリクエストでは、セキュリティ上の理由で CF-Connecting-IP の値は Worker クライアント IP アドレス '2a06:98c0:3600::103' になります。

Cloudflare の顧客ではないゾーン向けの Worker サブリクエストでは、CF-Connecting-IPx-real-ip の両方にクライアントの IP アドレスが入ります。変更できるのは x-real-ip ヘッダーだけです。

Worker サブリクエストが発生しない場合、cf-connecting-ip にはクライアントの IP アドレスが入り、x-real-ip ヘッダーは削除されます。

CF-Connecting-IPv6

Cloudflare は、追加設定やハードウェアなしで、すべてのドメインに 無料の IPv6 サポート を提供します。IPv6 への移行を支援するため、Cloudflare の Pseudo IPv4 は、すべての Cloudflare ドメイン向けに IPv6 から IPv4 への変換サービスを提供します。

Pseudo IPv4Overwrite Headers に設定されている場合、Cloudflare は既存の Cf-Connecting-IP および X-Forwarded-For ヘッダーを疑似 IPv4 アドレスで上書きし、実際の IPv6 アドレスは CF-Connecting-IPv6 ヘッダーに保持します。


CF-EW-Via

このヘッダーは、CDN-Loop ヘッダー と同様に、ループ検出に使います。

CF-Pseudo-IPv4

Pseudo IPv4Add Header の場合、Cloudflare は元の IPv6 アドレスからハッシュした Class E の IPv4 アドレスを、CF-Pseudo-IPv4 ヘッダーとして自動で追加します。

True-Client-IP(Enterprise プランのみ)

True-Client-IP は、元のクライアント IP アドレスをオリジン Web サーバーへ伝えます。True-Client-IP は Enterprise プランでのみ利用できます。次の例では、203.0.113.1 が元の訪問者 IP アドレスです。例: True-Client-IP: 203.0.113.1

True-Client-IPCF-Connecting-IP の違いは、ヘッダー名だけです。レガシー機器を使う一部の Enterprise のお客様は、ファイアウォールやロードバランサーをカスタムヘッダー名に合わせて更新しないよう、True-Client-IP を必要とします。

リクエストに True-Client-IP HTTP ヘッダーを追加するには、Add "True-Client-IP" header Managed Transform を有効 にします。

True-Client-IP や、訪問者の IP アドレスを含む可能性のある HTTP ヘッダーを受け取らない場合は、Remove visitor IP headers Managed Transform を有効 にします。

X-Forwarded-For

X-Forwarded-For は、プロキシサーバーと元の訪問者の IP アドレスを保持します。Cloudflare へ送られたリクエストに既存の X-Forwarded-For ヘッダーがなかった場合、X-Forwarded-For の値は CF-Connecting-IP ヘッダーと同じになります。

たとえば、元の訪問者 IP アドレスが 203.0.113.1 で、Cloudflare へ送られたリクエストに X-Forwarded-For ヘッダーがない場合、Cloudflare はオリジンへ X-Forwarded-For: 203.0.113.1 を送ります。

一方、Cloudflare へのリクエストにすでに X-Forwarded-For ヘッダーがある場合、Cloudflare は Cloudflare に接続している HTTP プロキシの IP アドレスをヘッダーに追加します。たとえば、元の訪問者 IP アドレスが 203.0.113.1 で、リクエストが Cloudflare へ届く前にプロキシ A(IP 198.51.100.101)とプロキシ B(IP 198.51.100.102)を経由した場合、Cloudflare はオリジンへ X-Forwarded-For: 203.0.113.1,198.51.100.101,198.51.100.102 を送ります。プロキシ A は元の訪問者の IP アドレス(203.0.113.1)を X-Forwarded-For に追加してプロキシ B へ送り、プロキシ B はプロキシ A の IP アドレス(198.51.100.101)を X-Forwarded-For に追加して Cloudflare へ送ります。最後に Cloudflare は、プロキシ B の IP アドレス(198.51.100.102)を X-Forwarded-For に追加してオリジンへ送ります。

X-Forwarded-For ヘッダーや、訪問者の IP アドレスを含む可能性のある HTTP ヘッダーで、訪問者の IP アドレス(および中間プロキシの IP アドレス)を受け取りたくない場合は、Remove visitor IP headers Managed Transform を有効 にします。X-Forwarded-For ヘッダーについては、この Managed Transform は、Cloudflare が少なくとも別の CDN 経由でプロキシされたリクエストを受け取ったときだけ、ヘッダー値から訪問者 IP を削除します。この場合、Cloudflare は最後のプロキシの IP アドレスだけを残します。

前の例のように、リクエストが Cloudflare を経由する前に 2 回プロキシ(プロキシ A と B)された場合、Remove visitor IP headers を有効にすると、Cloudflare はオリジンへ X-Forwarded-For: 198.51.100.102 を送り、プロキシ B(Cloudflare の直前の最後のプロキシ)の IP アドレスだけを残します。詳細は Visitor IP address in the x-forwarded-for HTTP header を参照してください。

X-Forwarded-Proto

X-Forwarded-Proto は、訪問者が Cloudflare への接続に使ったプロトコル(HTTP または HTTPS)を識別します。デフォルトのプロトコルは https です。訪問者が別の 暗号化モード を選んだ場合を除きます。

受信リクエストでは、このヘッダーの値はクライアントが使ったプロトコル(http または https)に設定されます。クライアントが別の値を設定していても上書きされます。

Cf-Ray

Cf-Ray ヘッダー(Ray ID とも呼ばれます)は、データセンターと訪問者のリクエストに関する情報を符号化したハッシュ値です。例: Cf-Ray: 230b030023ae2822-SJC

レスポンスヘッダーとして表示されるとき、Cf-Ray ヘッダーはリクエストを処理したデータセンターを識別します。データセンターの所在地に対応する 3 文字のコードで表されます。

Cf-Ray ヘッダーはアップストリームのオリジンにも送られ、接続元のデータセンターを反映するよう変更されることがあります。これは、リクエストが Argo Smart Routing または Argo Tiered Caching 経由でルーティングされた場合に起きます。この場合、Cf-Ray ヘッダーの 3 文字コードは、入口のデータセンターではなく、オリジンに接続しているデータセンターを示します。

Cf-Ray ヘッダーをオリジン Web サーバーのログに追加 すると、Cloudflare へプロキシされたリクエストとサーバーログのリクエストを突き合わせられます。

Enterprise のお客様は、Cloudflare Logs ですべてのリクエストを確認でき、入口データセンターに関するデータも含みます。

CF-IPCountry

CF-IPCountry ヘッダーには、元の訪問者の国を表す 2 文字の国コードが入ります。

ISO-3166-1 alpha-2 コード に加えて、Cloudflare は次の特別な国コードを使います。

  • XX - 国コードデータがないクライアントに使います。
  • T1 - Tor ネットワークを使うクライアントに使います。

このヘッダーと、訪問者の IP アドレスの位置情報を含むほかの HTTP ヘッダーをリクエストに追加するには、Add visitor location headers Managed Transform を有効 にします。

CF-Visitor

現在、このヘッダーは JSON オブジェクトで、scheme というキーだけを含みます。値は HTTP または HTTPS で、Cloudflare の設定で Flexible SSL を有効にする必要がある場合にだけ意味があります。例: CF-Visitor: { \"scheme\":\"https\"}

CDN-Loop

CDN-Loop により、Cloudflare はリクエストがループとしてブロックされるまでに、Cloudflare のネットワークへ何回入れるかを指定できます。例: CDN-Loop: cloudflare

CF-Connecting-O2O

SSL for SaaSSaaS プロバイダー所有のゾーン で使っている場合、HTTP ヘッダーは cf-connecting-o2o: 1 に設定されます。

CF-Worker

CF-Worker リクエストヘッダーは、エッジ Worker のサブリクエストに追加され、サブリクエストを発生させたホストを識別します。例: CF-Worker: example.com

CF-RAY ヘッダーと同様に、サーバーログへ CF-Worker ヘッダーを追加できます。ログフォーマットファイルに $http_cf_worker を追加します。例: log_format cf_custom "CF-Worker:$http_cf_worker"'

CF-Worker は、fetch() 経由で送られるすべての Worker サブリクエストに追加されます。値は、サブリクエストを行う Worker を所有するゾーン名です。たとえば、example.comfoo.example.com/* ルート上の Worker スクリプトでは、すべてのサブリクエストに次のヘッダーが付きます。

CF-Worker: example.com

このヘッダーの目的は、受信側(オリジン、ロードバランサー、ほかの Worker など)が、特定ゾーン上の Worker が生成したトラフィックを認識し、フィルターし、ルーティングできるようにすることです。

Connection

受信リクエストでは、このヘッダーの値は常に Keep-Alive に設定されます。クライアントが close など別の値を設定していても上書きされます。クライアントが HTTP/2 または HTTP/3 で接続した場合も同様です。

Spectrum での考慮事項

Spectrum を TCP アプリケーションで使う場合、これらは HTTP ヘッダーであるため、オリジンでは見えません。アプリケーションで使いたい場合は、次の 2 つの選択肢があります。

  • TCP ではなく、HTTP または HTTPS の Spectrum アプリを使う
  • Proxy Protocol 機能 を使う

レスポンスヘッダー

Cloudflare は、訪問者へ返すレスポンスから一部の HTTP ヘッダーを削除し、Cloudflare 固有の HTTP ヘッダーを追加します。

削除されるレスポンスヘッダー

Cloudflare は、オリジンサーバーからのレスポンスにある HTTP ヘッダーを訪問者へ渡します。ただし、次のヘッダーは除きます。

  • X-Accel-Buffering
  • X-Accel-Charset
  • X-Accel-Limit-Rate
  • X-Accel-Redirect
  • Alt-Svc

追加されるレスポンスヘッダー

Cloudflare は、訪問者へ送るレスポンスに、次の HTTP ヘッダーを追加します。

Cf-Ray

訪問者へ返される Cf-Ray の値は、オリジンサーバーへ送られた Cf-Ray の値と同じです。

Cf-Cache-Status

取り得るすべての Cf-Cache-Status 値の一覧は、Cloudflare cache responses にあります。

役に立ちましたか?