CloudFront から返されるレスポンスコードを変更する
CloudFront がオリジンから受信したものとは異なる HTTP ステータスコードを、ビューワーに返すように CloudFront を設定できます。たとえば、オリジンから 500 ステータスコードが CloudFront に返されるときに、CloudFront からカスタムエラーページと 200 ステータスコード (OK) がビューワーに返されるようにしたいことがあります。さまざまな理由で、オリジンから CloudFront に返されるステータスコードとは異なるステータスコードが CloudFront からビューワーに返されることが必要になる場合があります。
-
インターネットデバイス (一部のファイアウォールやコーポレートプロキシなど) の中には、HTTP 400 番台と 500 番台のステータスコードを遮断して、このレスポンスがビューワーに返信されないようするものがあります。このシナリオの場合、
200
に置換することで、応答は遮断されなくなります。 -
クライアントエラーとサーバーエラーの種類による区別が必要ない場合、CloudFront が返す 4xx および 5xx のステータスコードのすべてで、値を
400
または500
とするようにも指定できます。 -
200
ステータスコード (OK) と静的ウェブサイトを返すことにより、ウェブサイトが停止していることをユーザーが気づかないようにもできます。
CloudFront 標準ログを有効にし、レスポンスの HTTP ステータスコードを変更するように CloudFront を設定すると、ログの sc-status
列の値には指定したステータスコードが記述されます。ただし、x-edge-result-type
列の値は影響を受けません。この列には、オリジンから返された結果タイプが記述されます。例えば、オリジンが 200
(見つかりません) を CloudFront に返す場合、404
のステータスコードをビューワーに返すように CloudFront を設定するとします。オリジンが 404
ステータスコードでリクエストに応答すると、ログ内の sc-status
列の値は 200
になりますが、x-edge-result-type
列の値は Error
になります。
カスタムエラーページと共に以下の HTTP ステータスコードのいずれかを返すように、CloudFront を設定できます。
-
200
-
400、403、404、405、414、416
-
500、501、502、503、504