CloudFront에서 반환하는 응답 코드 변경 - Amazon CloudFront

CloudFront에서 반환하는 응답 코드 변경

오리진에서 받은 것과 다른 HTTP 상태 코드를 최종 사용자에게 반환하도록 CloudFront를 구성할 수 있습니다. 예를 들어 오리진에서 CloudFront에 500 상태 코드를 반환하는 경우, CloudFront에서 사용자 지정 오류 페이지와 200 상태 코드(OK)를 최종 사용자에게 반환하려 할 수 있습니다. CloudFront에서 오리진에서 최종 사용자에게 반환한 것과 다른 상태 코드를 CloudFront로 반환하려는 이유는 다음과 같이 다양합니다.

  • 일부 인터넷 디바이스(예: 일부 방화벽 및 기업 프록시)에서는 HTTP 4xx 및 5xx 상태 코드를 가로채서 응답이 최종 사용자에게 반환되는 것을 막습니다. 이 시나리오에서 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