반응형
Why?
Javascript로 AWS S3 버킷에 파일을 업로드하는 기능을 개발하는 과정에서 CORS 에러가 생겼다.
알아본 결과, 버킷 설정을 통해 문제를 해결할 수 있었다.
해결 방법
1. AWS 웹 콘솔에서 해결하고자 하는 S3 버킷에 들어간다.
2. 권한 탭을 눌러 CORS 정책을 용도에 맞게 편집한다.
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"HEAD",
"GET",
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"https://www.서비스도메인.com"
],
"ExposeHeaders": [
"ETag",
"x-amz-server-side-encryption",
"x-amz-request-id",
"x-amz-id-2"],
"MaxAgeSeconds" : 3000
}
]
- AllowedHeaders: 요청에서 허용되는 헤더
- AllowedMethods: 교차 도메인 요청을 허용하는 메소드 유형
- AllowedOrigins: 교차 도메인 요청을 허용하는 도메인 (특정 도메인을 지정하여 안전하게 허용할 수도 있고, *를 통해 모두 허용할 수도 있다)
- ExposeHeader: 접근할 수 있도록 하는 응답 헤더를 식별하는 요소
- MaxAgeSeconds: 브라우저가 resource, HTTP 메서드, origin 으로 식별되는 preflight 요청에 대한 응답을 캐시할 수 있는 시간(초)
https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/cors.html
반응형
'트러블슈팅' 카테고리의 다른 글
[에러 해결] Failed to load plugin '@typescript-eslint' declared in '.eslintrc.cjs': Unexpected token '||=' (0) | 2024.04.25 |
---|---|
[npm] npm 버전 다운그레이드하기 (0) | 2023.06.01 |
[Vite] vite에서 환경변수 env 값 설정하기 (0) | 2023.04.16 |
[Node.js] mongoose데이터베이스 연결 오류 (0) | 2023.04.10 |
[npm] npm global 권한 에러 해결하기 (0) | 2023.03.28 |