カミナシ エンジニアブログ

株式会社カミナシのエンジニアが色々書くブログです

Amazon CloudFrontのオリジンリクエストポリシーがAllViewerまたはAllViewerAndCloudFrontHeadersのとき、User-Agentヘッダーはオリジンに転送されるか?

されます。

おわりに

カミナシでID管理・認証基盤を開発しているmanaty(@manaty0226)です。

CloudFrontのオリジンリクエストポリシーによって転送されるヘッダーの情報は初見では混乱することが多いです。特に、User-Agentの動作については以下のような記載があります。

CloudFront が User-Agent ヘッダーの値に基づいてオブジェクトをキャッシュするように設定しない場合、CloudFront は以下の値を指定した User-Agent ヘッダーを追加して、リクエストをオリジンに転送します。

User-Agent = Amazon CloudFront

CloudFront は、ビューワーからのリクエストに User-Agent ヘッダーが含まれているかどうかに関係なく、このヘッダーを追加します。ビューワーからのリクエストに User-Agent ヘッダーが含まれる場合、CloudFront はそのヘッダーを削除します。

docs.aws.amazon.com

しかしながら、実際には以下のリンクにあるこちらの記述のように、ビューワーリクエストに含まれるUser-Agentヘッダーがオリジンに転送される動作となるようです。

[All viewer headers (すべてのビューワーヘッダー)] – ビューワーリクエストのすべての HTTP ヘッダーは、オリジンリクエストに含まれます。 [すべてのビューワーヘッダーと次の CloudFront ヘッダー] – ビューワーリクエストのすべての HTTP ヘッダーが、オリジンリクエストに含まれます。さらに、オリジンリクエストに追加する CloudFront ヘッダーを指定します。

docs.aws.amazon.com

※本記事は2025年10月6日時点の仕様に基づく情報です。

カミナシでは一見すると難しいAWS公式ドキュメントを読み解きながら、ときにAWSサポートに問い合わせて前に進んでいくソフトウェアエンジニアを募集しています。興味がある方はぜひカジュアル面談しましょう!