CloudFront リクエストヘッダーの追加 - Amazon CloudFront

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CloudFront リクエストヘッダーの追加

ビューワーから CloudFront を受信し、オリジンまたはエッジ関数 に転送するリクエストに特定の HTTP ヘッダーを追加する CloudFront ように を設定できます。これらの HTTP ヘッダーの値は、ビューワーまたはビューワーリクエストの特性に基づいています。ヘッダーは、ビューワーのデバイスタイプ、IP アドレス、地理的位置、リクエストプロトコル (HTTP または HTTPS)、HTTP バージョン、TLS 接続の詳細、および JA3 フィンガープリントに関する情報を提供します。

これらのヘッダーを使用すると、オリジンまたはエッジ関数でビューワーに関する情報を受け取ることができ、この情報を特定するための独自のコードを記述する必要はありません。オリジンがこれらのヘッダーの情報に基づいて異なるレスポンスを返す場合、 がレスポンスを個別に CloudFront キャッシュするように、それらをキャッシュキーに含めることができます。例えば、オリジンは、ビューワーが居住する国に基づく特定の言語のコンテンツや、特定のデバイスタイプに合わせたコンテンツで応答する場合があります。オリジンは、これらのヘッダーをログファイルに書き込むこともあります。ログファイルを使用して、ビューワーの場所、ビューワーのデバイスの種類などの情報を判断できます。

キャッシュキーにこれらのヘッダーを含めるには、キャッシュポリシーを使用します。詳細については、「キャッシュキーの管理」および「キャッシュキーについて」を参照してください。

オリジンでヘッダーを受信するが、キャッシュキーに含めないようにするには、オリジンリクエストポリシーを使用します。詳しくは、「オリジンリクエストの制御」を参照してください。

ビューワーのデバイスタイプを特定するためのヘッダー

ビューワーのデバイスタイプを特定するために、次のヘッダーが追加できます。User-Agent ヘッダーの値に基づいて、 はこれらのヘッダーの値を trueまたは CloudFront に設定しますfalse。デバイスが複数のカテゴリに属していると、複数の値が true になる場合があります。例えば、一部のタブレットデバイスでは、 CloudFront は CloudFront-Is-Mobile-Viewerと の両方CloudFront-Is-Tablet-Viewerを に設定しますtrue

  • CloudFront-Is-Android-Viewer – ビューワーが Android オペレーティングシステムを搭載したデバイスであるtrue CloudFront と判断された場合、 を に設定します。

  • CloudFront-Is-Desktop-Viewer - ビューワーがデスクトップデバイスであるtrue CloudFront と判断された場合、 に設定します。

  • CloudFront-Is-IOS-Viewer - ビューワーがiPhone 、iPod タッチ、一部の iPad デバイスなどの Apple モバイルオペレーティングシステムを搭載したデバイスであると が CloudFront 判断trueした場合、 に設定します。

  • CloudFront-Is-Mobile-Viewer - ビューワーがモバイルデバイスであるtrue CloudFront と判断された場合、 に設定します。

  • CloudFront-Is-SmartTV-Viewer - ビューワーがスマートテレビであるtrue CloudFront と判断された場合、 に設定します。

  • CloudFront-Is-Tablet-Viewer - ビューワーがタブレットである CloudFront と判断したtrueときに に設定します。

ビューワーの場所を特定するためのヘッダー

次のヘッダーを追加して、ビューワーの location. CloudFront determines をビューワーの IP アドレスに基づいて決定できます。これらのヘッダーの値に含まれる ASCII 以外の文字の場合、 は RFC 3986 のセクション 1.2 に従って文字を CloudFront パーセントエンコードします。

  • CloudFront-Viewer-Address – ビューワーの IP アドレスと、リクエストのソースポートを示します。例えば、198.51.100.10:46532 のヘッダー値は、ビューワーの IP アドレスが 198.51.100.10 で、リクエストのソースポートが 46532 であることを意味します。

  • CloudFront-Viewer-ASN — ビューワーの AS 番号 (ASN) を示します。

    注記

    CloudFront-Viewer-AddressCloudFront-Viewer-ASN は、オリジンリクエストポリシーで追加できますが、キャッシュポリシーでは追加できません。

  • CloudFront-Viewer-Country - ビューワーの国の 2 文字の国コードが含まれています。国コードの一覧については、「ISO 3166-1 alpha-2」を参照してください。

次のヘッダーを追加すると、 CloudFront は、 AWS ネットワークから発信されるリクエストを除くすべてのリクエストに適用します。

  • CloudFront-Viewer-City - ビューワーの市区町村名が含まれています。

  • CloudFront-Viewer-Country-Name - ビューワーの国名が含まれています。

  • CloudFront-Viewer-Country-Region - ビューワーのリージョンを表すコード (最大 3 文字) が含まれています。地域は、ISO 3166-2コードの第 1 レベルのサブディビジョン (最も広いまたは狭い) です。

  • CloudFront-Viewer-Country-Region-Name - ビューワーのリージョン名が含まれています。地域は、ISO 3166-2コードの第 1 レベルのサブディビジョン (最も広いまたは狭い) です。

  • CloudFront-Viewer-Latitude - ビューワーのおよその緯度が含まれています。

  • CloudFront-Viewer-Longitude - ビューワーのおよその経度が含まれています。

  • CloudFront-Viewer-Metro-Code - ビューワーのメトロコードが含まれています。これは、ビューワーが米国にいる場合にのみ表示されます。

  • CloudFront-Viewer-Postal-Code - ビューワーの郵便番号が含まれています。

  • CloudFront-Viewer-Time-Zone IANA タイムゾーンデータベース形式 (例: America/Los_Angeles) で、ビューワーのタイムゾーンが含まれています。

ビューワーのヘッダー構造を特定するためのヘッダー

送信するヘッダーに基づいてビューワーを特定しやすくするために、以下のヘッダーを追加できます。例えば、異なるブラウザごとに HTTP ヘッダーを送信する順序は異なる場合があります。User-Agent ヘッダーに指定されているブラウザが、そのブラウザの想定されたヘッダーの順序と一致しない場合は、リクエストを拒否できます。また、CloudFront-Viewer-Header-Count 値が CloudFront-Viewer-Header-Order 内のヘッダー数と一致しない場合は、リクエストを拒否できます。

  • CloudFront-Viewer-Header-Order — ビューワーのヘッダー名をリクエスト順にコロンで区切って示します。例: CloudFront-Viewer-Header-Order: Host:User-Agent:Accept:Accept-Encoding。文字数の制限である 7,680 文字を超えるヘッダーは切り捨てられます。

  • CloudFront-Viewer-Header-Count — ビューワーのヘッダーの総数を示します。

その他の CloudFront ヘッダー

ビューワーのプロトコル、バージョン、JA3 フィンガープリント、および TLS 接続の詳細を特定するために、以下のヘッダーを追加できます。

  • CloudFront-Forwarded-Proto - ビューワーのリクエストのプロトコル (HTTP または HTTPS) を示します。

  • CloudFront-Viewer-Http-Version - ビューワーのリクエストの HTTP バージョンを示します。

  • CloudFront-Viewer-JA3-Fingerprint — ビューワーの JA3 フィンガープリントを示します。JA3 フィンガープリントは、既知のクライアントからのリクエストであるか、マルウェアまたは悪意のあるボットであるか、想定された (許可リストに登録されている) アプリケーションであるかを判断するのに役立ちます。このヘッダーは、ビューワーの SSL/TLS Client Hello パケットに依存し、HTTPS リクエスト専用となっています。

    注記

    CloudFront-Viewer-JA3-Fingerprint の追加は、オリジンリクエストポリシーではできますが、キャッシュポリシーではできません。

  • CloudFront-Viewer-TLS – SSL/TLS バージョン、暗号、およびビューワーと 間の接続に使用された SSL/TLS ハンドシェイクに関する情報が含まれます CloudFront。ヘッダー値は次の形式です。

    SSL/TLS_version:cipher:handshake_information

    handshake_information の場合、ヘッダーには以下のいずれかの値が含まれます。

    • fullHandshake – SSL/TLS セッションに対して完全なハンドシェイクが実行された。

    • sessionResumed – 前の SSL/TLS セッションが再開された。

    • connectionReused – 前の SSL/TLS 接続が再利用された。

    以下に示しているのは、このヘッダーの値の例です。

    TLSv1.3:TLS_AES_128_GCM_SHA256:sessionResumed
    TLSv1.2:ECDHE-ECDSA-AES128-GCM-SHA256:connectionReused
    TLSv1.1:ECDHE-RSA-AES128-SHA256:fullHandshake
    TLSv1:ECDHE-RSA-AES256-SHA:fullHandshake

    このヘッダー値に含まれる SSL/TLS バージョンと暗号の完全なリストについては、「ビューワーと の間でサポートされているプロトコルと暗号 CloudFront」を参照してください。

    注記

    CloudFront-Viewer-TLS の追加は、オリジンリクエストポリシーではできますが、キャッシュポリシーではできません。