CloudFront에서 HTTPS 사용
뷰어가 HTTPS를 사용할 것을 요청하도록 CloudFront를 구성할 수 있습니다. 이렇게 하면 CloudFront가 뷰어와 통신할 때 연결이 암호화됩니다. 또한 CloudFront가 오리진과 HTTPS를 사용하도록 구성할 수 있습니다. 이렇게 하면 CloudFront가 오리진과 통신할 때 연결이 암호화됩니다.
CloudFront가 뷰어와 통신할 때 그리고 오리진과 통신할 때 모두 HTTPS를 요구하도록 구성할 경우, CloudFront에서 요청을 받을 때 다음과 같은 프로세스가 수행됩니다.
-
최종 사용자가 HTTPS 요청을 CloudFront에 제출합니다. 뷰어와 CloudFront 간에 SSL/TLS 협상이 수행됩니다. 결국에는 최종 사용자가 암호화된 형식을 요청을 제출합니다.
-
CloudFront 엣지 로케이션에 캐시 응답을 포함하는 경우 CloudFront가 응답을 암호화하여 뷰어에게 반환하면 뷰어는 이를 해독합니다.
-
CloudFront 엣지 로케이션에 캐시 응답을 포함하지 않는 경우 CloudFrontnt는 오리진과 SSL/TLS 협상을 수행하며 협상이 완료되면 요청을 암호화된 형식으로 오리진에 전달합니다.
-
오리진은 요청을 복호화한 후 요청을 처리하여 응답을 생성 및 암호화한 후 CloudFront에 반환합니다.
-
CloudFront는 응답을 복호화한 후 다시 암호화하여 뷰어에게 전달합니다. 또한 CloudFront는 엣지 로케이션에 응답을 캐시하여 다음에 요청할 때 사용할 수 있도록 합니다.
-
최종 사용자가 응답을 해독합니다.
이 프로세스는 오리진 서버가 Amazon S3 버킷이든, MediaStore이든, HTTP/S 서버와 같은 사용자 지정 오리진이든 상관없이 기본적으로 동일하게 작동합니다.
참고
SSL 재협상 유형 공격을 차단하기 위해 CloudFront는 최종 사용자와 오리진의 요청에 대한 재협상을 지원하지 않습니다.
최종 사용자와 CloudFront 간에 그리고 CloudFront와 오리진 간에 HTTPS를 요청하는 방법을 알아보려면 다음 주제를 참조하세요.