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

사용자 지정 헤더를 오리진에 전달

오리진에 요청을 전달할 때마다 사용자 지정 헤더를 포함하도록 CloudFront를 구성할 수 있습니다. 사용자 지정 오리진과 Amazon S3 버킷 모두 각 오리진에 대해 사용자 지정 헤더의 이름과 값을 지정할 수 있습니다.

참고

사용자 지정 헤더의 전달은 웹 배포에만 적용됩니다.

사용자 지정 헤더는 다음과 같이 다양한 용도가 있습니다.

  • CloudFront가 사용자 지정 오리진에 전달한 요청을 식별할 수 있습니다. 사용자가 CloudFront를 우회하는지 알고 싶은 경우나 1개 이상의 CDN을 사용하고 있는데 어떤 요청이 각 CDN에서 오는지에 대한 정보를 원하는 경우 유용합니다. (Amazon S3 오리진을 사용하고 Amazon S3 서버 액세스 로깅을 활성화하는 경우, 로그에는 헤더 정보가 포함되지 않습니다.)

  • 같은 오리진을 사용하도록 1개 이상의 CloudFront 배포를 구성한 경우, 각 배포의 오리진에 대해 서로 다른 사용자 지정 헤더를 지정하고 웹 서버의 로그를 사용하여 각 배포에 대해 CloudFront가 전달하는 요청을 구별할 수 있습니다.

  • 일부 사용자가 cross-origin 리소스 공유(CORS)를 지원하지 않는 최종 사용자를 사용하는 경우, 오리진에 Origin 헤더를 전달하도록 CloudFront를 구성할 수 있습니다. 그러면 오리진이 모든 요청에 대해 Access-Control-Allow-Origin 헤더를 반환합니다.

  • 사용자 지정 헤더를 사용하고 필요한 경우 서명된 URL 또는 서명된 쿠키를 사용하여 사용자 지정 오리진의 콘텐츠에 대한 액세스를 제어할 수 있습니다. 사용자 지정 헤더가 포함되는 경우에만 요청에 응답하도록 사용자 지정 오리진을 구성하는 경우, 사용자가 CloudFront를 우회하고 오리진에 직접 요청을 제출하지 않도록 할 수 있습니다. 자세한 내용은 사용자 지정 오리진의 파일에 대한 액세스 제한 단원을 참조하십시오.

오리진에 사용자 지정 헤더를 전달하도록 CloudFront 구성

웹 배포가 오리진에 사용자 지정 헤더를 전달하도록 구성하려면 다음 방법 중 하나를 사용하여 오리진의 구성을 업데이트합니다.

CloudFront 콘솔

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

CloudFront API

사용자 지정 헤더를 전달하려는 각 오리진에 대해 CustomHeaders 복합 형식의 DistributionConfig 섹션에 헤더 이름 및 값을 추가합니다. 자세한 내용은 새 배포 만들기의 경우 CreateDistribution을, 기존 배포 업데이트의 경우 UpdateDistribution 단원을 참조하십시오.

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

오리진에 사용자 지정 헤더를 전송하는 것과 관련된 현재 제한에 대한 내용은 한도 단원을 참조하십시오.

CloudFront가 오리진에 전달할 수 없는 사용자 지정 헤더

오리진에 다음 사용자 지정 헤더를 전송하도록 CloudFront를 구성할 수 없습니다.

Cache-Control

Proxy-Authorization

Connection

Proxy-Connection

Content-Length

Range

Cookie

Request-Range

Host

TE

If-Match

Trailer

If-Modified-Since

Transfer-Encoding

If-None-Match

업그레이드

If-Range

Via

If-Unmodified-Since

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

Max-Forwards

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

Pragma

X-Real-Ip

CORS(Cross-Origin 리소스 공유)에 사용자 지정 헤더 사용

오리진에 항상 지정 헤더를 전달하도록 CloudFront를 구성하여 요청에 그러한 헤더를 자동으로 포함하지 않는 최종 사용자를 수용할 수 있습니다. 또한 CORS 설정을 지키도록 CloudFront를 구성해야 합니다. 자세한 내용은 CORS 설정을 존중하도록 CloudFront 구성 단원을 참조하십시오.

사용자 지정 헤더를 사용하여 콘텐츠에 대한 액세스 제한

구성의 일환으로 항상 특정 헤더를 오리진으로 전달하도록 CloudFront를 구성하여 오리진의 콘텐츠에 대한 액세스를 제한할 수 있습니다. 자세한 내용은 사용자 지정 오리진의 파일에 대한 액세스 제한 단원을 참조하십시오.

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

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