CORS 문제 해결
CORS 구성으로 설정된 버킷에 액세스하는 중에 예상치 못한 동작이 발생할 경우, 다음 단계에 따라 문제를 해결해 보세요.
-
CORS 구성이 버킷에 설정되어 있는지 확인합니다.
CORS 구성이 설정된 경우 콘솔에서 속성(Properties) 버킷의 권한(Permissions) 섹션에 Edit CORS Configuration(CORS 구성 편집) 링크가 표시됩니다.
-
원하는 도구를 사용하여 완료 요청 및 응답을 캡처합니다. Amazon S3이 받은 각 요청에 대해 다음과 같이 해당 요청의 데이터와 일치하는 CORS 규칙이 있어야 합니다.
-
요청에 Origin 헤더가 있는 확인합니다.
헤더가 없으면 Amazon S3은 요청을 Cross-Origin 요청으로 처리하지 않고, 응답에 CORS 응답 헤더를 보내지 않습니다.
-
요청의 Origin 헤더가 지정된
AllowedOrigin
의CORSRule
요소 중 최소 하나와 일치하는지 확인합니다.Origin 요청 헤더의 체계, 호스트, 포트 값이
AllowedOrigin
의CORSRule
요소와 일치해야 합니다. 예를 들어CORSRule
을 설정하여http://www.example.com
오리진을 허용한 경우, 요청의https://www.example.com
오리진과http://www.example.com:80
오리진 모두가 해당 구성의 허용되는 오리진과 일치하지 않는 것입니다. -
요청의 메서드(preflight 요청에서는
Access-Control-Request-Method
에 지정된 메서드)가 동일한AllowedMethod
의CORSRule
요소 중 하나인지 확인합니다. -
preflight 요청의 경우 요청에
Access-Control-Request-Headers
헤더가 있을 경우,CORSRule
헤더에 각 값에 대한AllowedHeader
항목이Access-Control-Request-Headers
에 포함되었는지 확인합니다.
-