AWSのCloudFrontが期待した動作をしないときに確認するポイントを症例別にまとめます。 他の方も記事にされているため、この記事はリンク集が主です。 いくつかの私の経験したものは詳しめに書いていきます。
※書きかけなのでまだ2つです。m(__)m
クエリ文字列が届かない
確認する設定:Query String Forwarding and Caching
デフォルトではクエリ文字列を無視したキャッシュを行うNone (Improves Caching)
が設定されています。
こちらは、リクエストを処理できる可能性を高くしてオリジンの負荷を下げることができますが、サーバ側にクエリ文字列が届かない原因となります。
全てのクエリ文字列を渡す場合はForward all, cache based on all
とする必要があります。
POSTリクエストで403 Forbidden
確認する設定:Allowed HTTP Methods
Allowed HTTP Methods
がGET, HEAD
になっているとPOST、DELETEなどのメソッドは受け付けません。
GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
を選びPOST、DELETEなどのメソッドをスルーさせます。
参考
CloudFrontが期待した動作をしないときに確認する症例集
AWSCloudFrontschedule2019-07-30
EC2のインスタンスを停止しても勝手に新しくインスタンスが起動する
AWSschedule2019-06-26
psql FATA role "ec2-user" does not exist|Amazon Linux2にPostgreSQL10を入れたとき
エラー解消PostgreSQLAWS環境構築schedule2019-05-14
Amazon Linux2にPostgreSQL10をインストールして初期設定する
PostgreSQLAWS環境構築schedule2019-05-14