메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

CORS 문제 해결

CORS 구성을 포함하는 버킷 세트에 액세스할 때 예상하지 못한 동작이 발생할 경우 다음과 같은 몇 가지 문제 해결 조치를 취할 수 있습니다.

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

    지침은 Amazon Simple Storage Service 콘솔 사용 설명서버킷 권한 편집을 참조하십시오. CORS 구성이 설정되어 있으면 콘솔에서 [Properties] 버킷의 [Permissions] 섹션에 [Edit CORS Configuration] 링크가 표시됩니다.

  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에 포함되었는지 확인합니다.