CloudFront から返されるレスポンスコードを変更する - Amazon CloudFront

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