사용자 지정 헤더를 오리진 요청에 추가 - Amazon CloudFront

사용자 지정 헤더를 오리진 요청에 추가

오리진으로 보내는 요청에 사용자 지정 헤더를 추가하도록 CloudFront를 구성할 수 있습니다. 이러한 사용자 지정 헤더를 사용하면 일반적인 최종 사용자 요청을 통해 얻을 수 없는 오리진에서 정보를 보내고 수집할 수 있습니다. 각 오리진에 대해 이러한 헤더를 사용자 지정할 수도 있습니다. CloudFront는 사용자 지정 오리진 및 Amazon S3 오리진 모두에 사용자 지정 헤더를 지원합니다.

참고

사용자 지정 헤더의 추가는 웹 배포에만 적용됩니다.

오리진 사용자 지정 헤더의 사용 사례

다음과 같이 여러 경우에 사용자 지정 헤더를 사용할 수 있습니다.

CloudFront에서 요청 식별

오리진이 CloudFront에서 수신한 요청을 식별할 수 있습니다. 사용자가 CloudFront를 우회하는지 알고 싶은 경우나 2개 이상의 CDN을 사용하고 있는데 어떤 요청이 각 CDN에서 오는지에 대한 정보를 원하는 경우 유용합니다.

참고

Amazon S3 오리진을 사용하고 Amazon S3 서버 액세스 로깅을 활성화하는 경우, 로그에는 헤더 정보가 포함되지 않습니다.

어떤 요청이 특정 배포에서 오는지 확인

동일한 오리진을 사용하도록 둘 이상의 CloudFront 배포를 구성하는 경우, 각 배포에 각각 다른 사용자 지정 헤더를 추가할 수 있습니다. 그러면 오리진의 로그를 사용하여 어떤 요청이 어떤 CloudFront 배포에서 왔는지 확인할 수 있습니다.

Cross-Origin 리소스 공유(CORS) 활성화

일부 최종 사용자가 Cross-Origin 리소스 공유(CORS)를 지원하지 않는 경우, 오리진으로 보내는 요청에 Origin 헤더를 항상 추가하도록 CloudFront를 구성할 수 있습니다. 그러면 모든 요청에 대해 Access-Control-Allow-Origin 헤더를 반환하도록 오리진을 구성할 수 있습니다. 또한 CORS 설정을 지키도록 CloudFront를 구성해야 합니다.

콘텐츠에 대한 액세스 제어

사용자 지정 헤더를 사용하여 콘텐츠에 대한 액세스를 제어할 수 있습니다. CloudFront에 의해 추가된 사용자 지정 헤더가 포함된 경우에만 요청에 응답하도록 오리진을 구성하여 사용자가 CloudFront를 우회하는 것과 오리진에서 직접 콘텐츠에 액세스하는 것을 방지할 수 있습니다. 자세한 내용은 사용자 지정 오리진의 파일에 대한 액세스 제한 단원을 참조하십시오.

사용자 지정 헤더를 오리진 요청에 추가하도록 CloudFront 구성

오리진으로 보내는 요청에 사용자 지정 헤더를 추가하도록 웹 배포를 구성하려면 다음 방법 중 하나를 사용하여 오리진의 구성을 업데이트합니다.

  • CloudFront 콘솔 – 배포를 생성 또는 업데이트할 경우, 오리진 사용자 지정 헤더 설정에 헤더 이름과 값을 지정합니다. 자세한 내용은 배포 만들기 또는 배포 업데이트 단원을 참조하십시오.

  • CloudFront API – 사용자 지정 헤더를 추가하려는 각 오리진에 대해 CustomHeaders 필드 내부 Origin에 헤더 이름과 값을 지정합니다. 자세한 내용은 CreateDistribution 또는 UpdateDistribution을 참조하십시오.

지정하는 헤더 이름과 값이 아직 최종 사용자 요청에 있지 않은 경우, CloudFront는 이를 오리진 요청에 추가합니다. 헤더가 있는 경우, CloudFront는 오리진에 요청을 전달하기 전에 헤더 값을 덮어씁니다.

오리진 사용자 지정 헤더에 적용되는 할당량(이전에는 제한이라고 함)에 대한 자세한 내용은 사용자 지정 헤더에 대한 할당량(웹 배포만 해당) 단원을 참조하십시오.

CloudFront가 오리진 요청에 추가할 수 없는 사용자 지정 헤더

오리진으로 보내는 요청에 다음 헤더 중 하나라도 추가하도록 CloudFront를 구성할 수 없습니다.

  • Cache-Control

  • Connection

  • Content-Length

  • Cookie

  • Host

  • If-Match

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Max-Forwards

  • Pragma

  • Proxy-Authorization

  • Proxy-Connection

  • Range

  • Request-Range

  • TE

  • Trailer

  • Transfer-Encoding

  • Upgrade

  • Via

  • X-Amz-로 시작되는 헤더

  • X-Edge-로 시작되는 헤더

  • X-Real-Ip

권한 부여 헤더를 전달하도록 CloudFront 구성

요청을 오리진으로 전달하면 CloudFront는 기본적으로 권한 부여 헤더를 포함하여 일부 최종 사용자를 제거합니다. 특정 캐시 동작에 대해 항상 권한 부여 헤더를 전달하려면 해당 캐시 동작에 대해 헤더 화이트리스트를 작성합니다. 자세한 내용은 Whitelist Headers 단원을 참조하십시오.