CloudFront에서 파일을 압축할 때 발생하는 문제를 해결하려면 어떻게 해야 합니까?

2분 분량
0

Amazon CloudFront 배포를 사용하여 압축된 객체를 자동으로 제공하고 있지만 최종 사용자에서는 콘텐츠가 압축되지 않습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

해결 방법

CloudFront 구성 확인

  • 객체 자동 압축 설정이 로 설정되어 있는지 확인합니다.
  • 캐시 정책 설정에서 BrotliGzip이 모두 활성화되어 있는지 확인합니다.
  • 캐시 정책의 TTL 값이 0보다 큰 값으로 설정되어 있는지 확인합니다. 캐싱이 해제된 경우 CloudFront는 객체를 압축하지 않습니다.

최종 사용자의 구성 확인

먼저 HTTP 아카이브(HAR)를 캡처하여 브라우저에서 보낸 세부 요청 헤더에 대한 정보를 가져옵니다. 그런 후 다음을 확인합니다.

  • 이 요청은 HTTP 1.0보다 높은 버전의 HTTP를 사용합니다. 하위 버전의 HTTP에서 CloudFront는 인코딩 수락 헤더를 제거하고 응답에서 객체를 압축하지 않습니다.
  • 인코딩 수락 헤더는 최종 사용자 요청에 포함되며 gzip 또는 br 값을 포함합니다.

오리진 서버가 CloudFront로 반환하고 있다는 응답 확인

오리진에 액세스할 수 있는 경우 오리진 서버가 CloudFront에 반환하는 응답을 확인합니다. 그런 후 다음을 확인합니다.

  • 오리진은 콘텐츠 인코딩 헤더를 반환하지 않습니다. 이 헤더는 응답이 이미 압축되었음을 나타냅니다.
  • Content-Length 응답은 오리진의 응답에 있으며 지원되는 1,000바이트에서 10,000,000바이트의 범위 내에 있습니다.
  • 압축이 지원되는 파일 형식입니다.
  • 응답 HTTP 상태 코드200, 403 또는 404입니다.

객체에 대한 캐시 히트가 관찰되면 캐시에서 무효화합니다. 이미지 압축 설정을 활성화해도 CloudFront는 엣지 로케이션에 이미 캐시된 객체를 압축하지 않습니다. 엣지 캐시에서 요청이 처리되면 CloudFront가 "X-Cache: CloudFront에서 히트"를 반환합니다.


AWS 공식
AWS 공식업데이트됨 2년 전