사용자 지정 헤더를 오리진 요청에 추가 - 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 – 사용자 지정 헤더를 추가하려는 각 오리진에 대해 Origin 필드 내부 CustomHeaders에 헤더 이름과 값을 지정합니다. 자세한 내용은 Amazon CloudFront API 참조의 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

Authorization 헤더를 전달하도록 CloudFront 구성

CloudFront에서 최종 사용자 요청을 오리진에 전달할 때 Authorization 헤더를 포함한 일부 최종 사용자 헤더는 기본적으로 제거됩니다. 오리진 요청의 Authorization 헤더가 오리진에 항상 수신되도록 하려면 다음 옵션을 선택할 수 있습니다.

  • 캐시 정책을 사용하여 캐시 키에 Authorization 헤더를 추가합니다. 캐시 키의 모든 헤더가 오리진 요청에 자동으로 포함됩니다. 자세한 내용은 정책으로 캐시 키 제어 단원을 참조하십시오.

  • 모든 최종 사용자 헤더를 오리진으로 전달하는 오리진 요청 정책을 사용합니다. 오리진 요청 정책에서 Authorization 헤더를 개별적으로 전달할 수는 없지만 모든 최종 사용자 헤더를 전달하면 CloudFront에서 최종 사용자 요청에 Authorization 헤더를 포함합니다. CloudFront는 이 사용 사례를 위해 Managed-AllViewer라는 관리형 오리진 요청 정책을 제공합니다. 자세한 내용은 관리형 오리진 요청 정책 사용 단원을 참조하십시오.