Amazon Simple Storage Service
개발자 안내서 (API 버전 2006-03-01)

CORS 문제 해결

CORS 구성으로 설정된 버킷에 액세스하는 중에 예상치 못한 동작이 발생할 경우, 다음 단계에 따라 문제를 해결해 보십시오.

  1. CORS 구성이 버킷에 설정되어 있는지 확인합니다.

    지침은 Amazon Simple Storage Service 콘솔 사용 설명서버킷 권한 편집을 참조하십시오. CORS 구성이 설정된 경우 콘솔에서 속성 버킷의 권한 섹션에 Edit CORS Configuration(CORS 구성 편집) 링크가 표시됩니다.

  2. 원하는 도구를 사용하여 완료 요청 및 응답을 캡처합니다. Amazon S3에서 받은 각 요청에 대해 다음과 같이 해당 요청의 데이터와 일치하는 CORS 규칙이 있어야 합니다.

    1. 요청에 Origin 헤더가 있는 확인합니다.

      헤더가 없으면 Amazon S3는 요청을 cross-origin 요청으로 처리하지 않고, 응답에 CORS 응답 헤더를 보내지 않습니다.

    2. 요청의 Origin 헤더가 지정된 CORSRuleAllowedOrigin 요소 중 최소 하나와 일치하는지 확인합니다.

      Origin 요청 헤더의 체계, 호스트, 포트 값이 CORSRuleAllowedOrigin 요소와 일치해야 합니다. 예를 들어 CORSRule을 설정하여 http://www.example.com 오리진을 허용한 경우, 요청의 https://www.example.com 오리진과 http://www.example.com:80 오리진 모두가 해당 구성의 허용되는 오리진과 일치하지 않는 것입니다.

    3. 요청의 메서드(preflight 요청에서는 Access-Control-Request-Method에 지정된 메서드)가 동일한 CORSRuleAllowedMethod 요소 중 하나인지 확인합니다.

    4. preflight 요청의 경우 요청에 Access-Control-Request-Headers 헤더가 있을 경우, Access-Control-Request-Headers 헤더에 각 값에 대한 AllowedHeader 항목이 CORSRule에 포함되었는지 확인합니다.