0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CloudFront to ALBで502エラー|原因はキャッシュキーとオリジンリクエストが未設定

Last updated at Posted at 2023-01-23

状況

CloudFront →(SSL)→ ALB → EC2 → RDSのような構成で502エラーが発生しました。

原因

CloudFrontで502が発生する原因は様々ありますが自分のケースではCloudFrontのビヘイビアタブのキャッシュキーとオリジンリクエストの設定が初期設定のままというのが原因でした。

キャッシュキーとオリジンリクエスト

CloudFrontのコンソールからビヘイビアタブを開くと「キャッシュキーとオリジンリクエスト」という項目があります。
ここで何を設定しているかというとHTTP通信でやりとりされるクッキーやクエリ文字列などの情報をCloud Frontに保存するかどうかという設定を行なっています。これらの設定をすることで通信処理によっては表示速度を速められたりします。

設定

前提として今回はパスパターンがデフォルト(*)の設定を行います。
つまり全てのファイルに適用されるものですので当然PHPなどの
動的なプログラムファイルも含まれます。
以下実際に適用した設定になります。

「Cache policy and origin request policy」にチェックを入れます。
キャッシュポリシーの項目は「CachingDisabled」を選択します。
これで全ての通信はキャッシュされなくなります。
オリジンリクエストポリシーの項目は「AllViewer」を選択します。
キャッシュポリシーはどのくらいの期間データを保存するかを設定し
オリジンリクエストポリシーはどのようなヘッダを含んでオリジンに送信するかを設定しています。

備考

ちなみに上記はPHPファイルなどを含む全てのファイルに対しての基本設定です。この基本設定の他に*.jpgなどの静的ファイルごとにキャッシュをする設定を加えることでCloudFrontにファイルを保存し、表示を高速化することができます。

参考

キャッシュポリシーの公式ドキュメント
オリジンリクエストポリシーの公式ドキュメント

ちなみにその他の原因で502が返ってくることも少なくないようです。
CloudFrontからの502を解決するー公式ドキュメント

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?