Amazon CloudFront
개발자 안내서 (API 버전 2016-09-29)

CloudFront에서 HTTPS 사용

웹 배포에 대해, 최종 사용자가 객체를 요청할 때 HTTPS를 사용할 것을 요구하도록 CloudFront를 구성할 수 있습니다. 이렇게 하면 CloudFront가 최종 사용자와 통신할 때 연결이 암호화됩니다. 또한 CloudFront가 오리진의 객체를 받을 때 HTTPS를 사용하도록 구성할 수 있습니다. 이렇게 하면 CloudFront가 오리진과 통신할 때 연결이 암호화됩니다.

CloudFront가 최종 사용자와 통신할 때 및 오리진과 통신할 때 모두 HTTPS를 요구하도록 구성할 경우, CloudFront에서 객체에 대한 요청을 받을 때 다음과 같은 프로세스가 수행됩니다.

  1. 최종 사용자가 HTTPS 요청을 CloudFront에 제출합니다. 최종 사용자와 CloudFront 간에 SSL/TLS 협상이 수행됩니다. 결국에는 최종 사용자가 암호화된 형식을 요청을 제출합니다.

  2. 객체가 CloudFront 엣지 캐시에 있는 경우 CloudFront에서 응답을 암호화하여 뷰어에 반환하면 뷰어는 해당 객체를 해독합니다.

  3. 객체가 CloudFront 캐시에 있지 않은 경우, CloudFront는 오리진과 SSL/TLS 협상을 수행하며 협상이 완료되면 요청을 암호화된 형식으로 오리진에 전달합니다.

  4. 오리진은 요청을 해독한 후 요청한 객체를 암호화하여 CloudFront로 반환합니다.

  5. CloudFront는 응답을 해독한 후 다시 암호화하여 최종 사용자에 이 객체를 전달합니다. 또한 CloudFront는 이 객체를 다음 번에 요청될 때 사용할 수 있도록 엣지 캐시에 저장합니다.

  6. 최종 사용자가 응답을 해독합니다.

이 프로세스는 오리진이 Amazon S3 버킷, MediaStore 또는 HTTP/S 서버와 같은 사용자 지정 오리진 중 어느것이든 상관없이 기본적으로 동일하게 작동합니다.

참고

SSL 재협상 유형 공격을 차단하기 위해 CloudFront는 최종 사용자와 오리진의 요청에 대한 재협상을 지원하지 않습니다.

최종 사용자와 CloudFront 간에 그리고 CloudFront와 오리진 간에 HTTPS를 요청하는 방법을 알아보려면 다음 항목을 참조하십시오.