オリジンリクエストへのカスタムヘッダーの追加 - Amazon CloudFront

オリジンリクエストへのカスタムヘッダーの追加

オリジンに送信するリクエストにカスタムヘッダーを追加するように CloudFront を設定できます。これらのカスタムヘッダーを使用すると、一般的なビューワーリクエストでは得られない情報をオリジンから送信および収集できます。これらのヘッダーは、オリジンごとにカスタマイズすることもできます。CloudFront は、カスタムオリジンと Amazon S3 オリジンの両方のカスタムヘッダーをサポートします。

注記

カスタムヘッダーの追加は、ウェブディストリビューションにのみ適用されます。

オリジンカスタムヘッダーのユースケース

カスタムヘッダーは、次のようなさまざまな用途に使用できます。

CloudFront からのリクエストの識別

オリジンが CloudFront から受け取るリクエストを識別できます。これは、ユーザーが CloudFront をバイパスするかどうかを知りたい場合、または複数の CDN を使用してどのリクエストが CDN から来ているのかを知りたい場合に役立つ可能性があります。

注記

Amazon S3 オリジンを使用して、Amazon S3 サーバーアクセスログを有効にした場合、ログにヘッダー情報は含まれません。

特定のディストリビューションから送信されたリクエストの判断

同じオリジンを使用するように複数の CloudFront ディストリビューションを設定する場合は、ディストリビューションごとに異なるカスタムヘッダーを追加できます。その後、オリジンからのログを使用して、どのリクエストがどの CloudFront ディストリビューションから来たのかを判断できます。

Cross-Origin Resource Sharing (CORS) の有効化

ビューワーの一部が Cross-Origin Resource Sharing (CORS) をサポートしていない場合は、オリジンに送信されるリクエストに Origin ヘッダーを常に追加するように CloudFront を設定できます。次に、リクエストごとに Access-Control-Allow-Origin ヘッダーを返すようにオリジンを設定できます。CORS 設定を適用するように CloudFront を設定する必要もあります。

コンテンツへのアクセス制御

カスタムヘッダーを使用して、コンテンツへのアクセスを制御できます。CloudFront によって追加されたカスタムヘッダーが含まれている場合にのみリクエストに応答するようオリジンを設定することで、ユーザーが CloudFront をバイパスして、オリジンで直接コンテンツにアクセスすることを防ぐことができます。詳細については、「 カスタムオリジン上のファイルへのアクセス制限」を参照してください。

オリジンリクエストにカスタムヘッダーを追加するための CloudFront の設定

オリジンに送信されるリクエストにカスタムヘッダーを追加するようウェブディストリビューションを設定するには、次のいずれかの方法を使用してオリジン設定を更新します。

  • CloudFront コンソール – ディストリビューションを作成または更新する場合、[Origin Custom Headers] 設定にヘッダー名と値を指定します。詳細については、「ディストリビューションの作成」または「ディストリビューションの更新」を参照してください。

  • CloudFront API – カスタムヘッダーを追加するオリジンごとに、Origin 内の CustomHeaders フィールドでヘッダー名と値を指定します。詳細については、「CreateDistribution」または「UpdateDistribution」を参照してください。

指定するヘッダーの名前と値がまだビューワーのリクエストに存在しない場合、CloudFront がそれらをオリジンリクエストに追加します。ヘッダーが存在する場合、CloudFront はリクエストをオリジンに転送する前にヘッダー値を上書きします。

オリジンカスタムヘッダーに適用されるクォータについては、「カスタムヘッダーのクォータ (ウェブディストリビューションのみ)」を参照してください。

CloudFront がオリジンリクエストに追加できないカスタムヘッダー

オリジンに送信されるリクエストに以下のヘッダーを追加するように CloudFront を設定することはできません。

  • Cache-Control

  • Connection

  • Content-Length

  • Cookie

  • Host

  • If-Match

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Max-Forwards

  • Pragma

  • Proxy-Authorization

  • Proxy-Connection

  • Range

  • Request-Range

  • TE

  • Trailer

  • Transfer-Encoding

  • Upgrade

  • Via

  • X-Amz- で始まるヘッダー

  • X-Edge- で始まるヘッダー

  • X-Real-Ip

認証ヘッダーを転送するように CloudFront を設定する

CloudFront は、リクエストをオリジンに転送するときに、認証ヘッダーを含む一部のビューワーヘッダーをデフォルトで削除します。特定のキャッシュ動作のために常に認証ヘッダーを転送するには、そのキャッシュ動作について、ヘッダーをホワイトリストに登録します。詳細については、「Whitelist Headers」を参照してください。