CloudFront와 사용자 지정 오리진 간의 통신에 HTTPS 요구 - Amazon CloudFront

CloudFront와 사용자 지정 오리진 간의 통신에 HTTPS 요구

CloudFront와 오리진 간의 통신에 HTTPS를 요청할 수 있습니다.

참고

오리진이 웹 사이트 엔드포인트로 구성된 Amazon S3 버킷인 경우, Amazon S3에서 웹 사이트 엔드포인트로 HTTPS를 지원하지 않으므로 오리진에 HTTPS를 사용하도록 CloudFront를 구성할 수 없습니다.

CloudFront와 오리진 간에 HTTPS를 요청하려면 이 항목의 절차에 따라 다음을 수행하세요.

  1. 배포에서 오리진에 대한 오리진 프로토콜 정책 설정을 변경합니다.

  2. 오리진 서버에 SSL/TLS 인증서를 설치합니다(Amazon S3 오리진 또는 기타 특정 AWS 오리진을 사용하는 경우 필요 없음).

사용자 지정 오리진에 HTTPS 요구

다음 절차는 CloudFront에서 HTTPS를 사용하여 Elastic Load Balancing 로드 밸런서, Amazon EC2 인스턴스 또는 다른 사용자 지정 오리진과 통신하도록 구성하는 방법을 보여 줍니다. CloudFront API를 사용한 배포 업데이트에 대한 자세한 내용은 Amazon CloudFront API 참조배포 업데이트를 참조하십시오.

CloudFront에서 CloudFront와 사용자 지정 오리진 간에 HTTPS를 요구하도록 구성하려면
  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. CloudFront 콘솔의 상단 창에서 업데이트할 배포의 ID를 선택합니다.

  3. 동작 탭에서 업데이트할 오리진을 선택하고 편집을 선택합니다.

  4. 다음 설정을 업데이트합니다.

    오리진 프로토콜 정책

    배포의 해당 오리진에 대해 오리진 프로토콜 정책을 변경합니다.

    • HTTPS만(HTTPS Only) - CloudFront에서 사용자 지정 오리진과 통신할 때 HTTPS만 사용합니다.

    • 최종 사용자와 일치(Match Viewer) - CloudFront에서 최종 사용자 요청의 프로토콜에 따라 HTTP 또는 HTTPS를 사용하여 사용자 지정 오리진과 통신합니다. 예를 들면 오리진 프로토콜 정책(Origin Protocol Policy)최종 사용자와 일치(Match Viewer)를 선택하고 최종 사용자가 HTTPS를 사용하여 CloudFront에서 객체를 요청하는 경우, CloudFront에서도 HTTPS를 사용하여 해당 요청을 오리진으로 전달합니다.

      Viewer Protocol Policy(최종 사용자 프로토콜 정책)에서 Redirect HTTP to HTTPS(HTTP를 HTTPS로 재지정) 또는 HTTPS Only(HTTPS만 해당)를 지정한 경우에만 Match Viewer를 선택합니다.

      최종 사용자가 HTTP 및 HTTPS 프로토콜 모두를 사용하여 요청하더라도 CloudFront에서는 한 번만 객체를 캐싱합니다.

    오리진 SSL 프로토콜

    배포의 해당 오리진에 대해 오리진 SSL 프로토콜을 선택합니다. SSLv3 프로토콜이 덜 안전하므로 사용자가 TLSv1 이상을 지원하지 않는 경우에만 SSLv3을 선택하는 것이 좋습니다. TLSv1 핸드쉐이크는 SSLv3의 이전 버전 및 이후 버전과 모두 호환되지만, TLSv1.1 이상은 호환되지 않습니다. SSLv3을 선택하면 CloudFront는 SSLv3 핸드셰이크 요청 보냅니다.

  5. Save changes(변경 사항 저장)를 선택합니다.

  6. CloudFront와 사용자 지정 오리진 간에 HTTPS를 요구하려는 다른 오리진에 대해 3~5단계를 반복합니다.

  7. 업데이트한 구성을 프로덕션 환경에서 사용하기 전에 다음 사항을 확인합니다.

    • 각 캐시 동작의 경로 패턴이 최종 사용자에 HTTPS를 사용하도록 지정한 요청에만 적용되는가.

    • 캐시 동작이 CloudFront에서 평가하도록 할 순서대로 나열되었는가. 자세한 내용은 경로 패턴 단원을 참조하십시오.

    • 캐시 동작은 변경한 오리진 프로토콜 정책에 따라 요청을 오리진으로 라우팅합니다.

사용자 지정 오리진에 SSL/TLS 인증서 설치

사용자 지정 오리진에서 다음 소스의 SSL/TLS 인증서를 사용할 수 있습니다.

  • 오리진이 Elastic Load Balancing 로드 밸런서인 경우 AWS Certificate Manager(ACM)에서 제공하는 인증서를 사용할 수 있습니다. 또한 신뢰할 수 있는 다른 인증 기관에서 서명한 인증서 및 ACM으로 가져온 인증서를 사용할 수도 있습니다.

  • Elastic Load Balancing 로드 밸런서 외의 오리진에서는 Comodo, DigiCert, Symantec 같이 신뢰할 수 있는 서드 파티 인증 기관(CA)에서 서명한 인증서를 사용해야 합니다.

오리진에서 반환되는 인증서는 다음 도메인 이름 중 하나를 포함하고 있어야 합니다.

  • 오리진의 오리진 도메인(Origin domain) 필드(CloudFront API의 DomainName 필드)에 있는 도메인 이름.

  • 캐시 동작이 Host 헤더를 오리진으로 전달하도록 구성된 경우, Host 헤더의 도메인 이름.

CloudFront가 HTTPS를 사용하여 오리진과 통신하면 CloudFront는 인증서가 신뢰할 수 있는 인증 기관에 의해 발급되었는지 확인합니다. CloudFront는 Mozilla가 지원하는 것과 동일한 인증 기관을 지원합니다. 최신 목록은 Mozilla에 포함된 CA 인증서 목록을 참조하십시오. CloudFront와 오리진 간의 HTTPS 통신에는 자체 서명한 인증서를 사용할 수 없습니다.

중요

오리진 서버에서 만료된 인증서, 잘못된 인증서 또는 자체 서명된 인증서를 반환하는 경우 또는 오리진 서버에서 잘못된 순서로 인증서 체인을 반환하는 경우에는 CloudFront에서 TCP 연결을 끊고 HTTP 상태 코드 502(잘못된 게이트웨이)를 뷰어로 반환하며 X-Cache 헤더를 Error from cloudfront로 설정합니다. 또한 중간 인증서를 포함하여 인증서의 전체 체인이 없는 경우, CloudFront는 TCP 연결을 끊습니다.