
CORS(교차 출처 리소스 공유, Cross-Origin Resource Sharing) 문제는 한 웹사이트에서 다른 출처(origin)의 S3 리소스에 접근할 때 브라우저가 보안 때문에 차단하는 현상.
🎭 예시: "극장 티켓 검문소"
👉 즉, CORS 문제란, S3에서 특정 웹사이트(Origin)의 요청을 허용하지 않아서 발생하는 문제.
✅ S3에 저장된 이미지를 웹사이트에서 직접 불러오려 할 때
✅ JavaScript(브라우저)에서 S3 데이터를 가져오려고 할 때 (fetch, XMLHttpRequest)
✅ 다른 웹사이트에서 내 S3 리소스를 요청할 때
📌 브라우저 보안 정책 때문에 기본적으로 교차 출처 요청을 차단함. 이를 해결하려면 S3에 CORS 설정을 추가해야 함.
S3 버킷의 CORS 설정을 수정하여 특정 웹사이트에서 리소스를 가져올 수 있도록 허용하면 됨.
[
{
"AllowedOrigins": ["*"], // 모든 사이트에서 접근 가능 (보안상 특정 도메인만 허용하는 게 좋음)
"AllowedMethods": ["GET", "HEAD"], // 허용할 HTTP 메서드 (보통 GET, HEAD)
"AllowedHeaders": ["*"] // 모든 헤더 허용
}
]
📌 보안상 AllowedOrigins를 ["https://example.com"] 같은 특정 도메인으로 제한하는 것이 좋음.
"AllowedOrigins": ["*"] 설정하면 모든 웹사이트에서 접근 가능하지만, 보안상 특정 도메인만 허용하는 것이 좋음.