S3 버켓 이동 후 발생한 400 Bad Request 처리

summereuna🐥·2022년 10월 26일
0

프리티어 기간이 곧 만료될 거라는 이메일을 받고 새로운 계정을 만들어서 S3 버킷에 복제했다. 그러고 나서 .env 파일과 헤로쿠 세팅에서 AWS 키 값을 바꿔 주었다.

Amazon S3 > 버킷 > 내 버킷 > 권한 탭에서 public 설정과 CORS 설정도 전 버킷에서 설정했던과 동일하게 설정한 후, 새롭게 빌드하여 헤로쿠 서버에 빌드했다.

  • 퍼블릭 액세스 차단(버킷 설정) 설정
  • CORS(Cross-origin 리소스 공유) 설정
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "헤로쿠에서 배포한 홈페이지 URL",
            "http://localhost:4000"
        ],
        "ExposeHeaders": []
    }
]

그러고 나서 잘 되는지 동영상을 업로드 해봤다.
그런데...

⚠️ 문제 발생:400 Bad Request


Bad Request이 뜨며 status 400이 떴다.

에러 코드를 찾아보니 원인은 바로 내 버킷이 ACL(접근 제어 목록)을 허용하지 않기 때문이라고 한다.

해결


해결 방법은 의외로 간단한데 안전한지는 잘 모르겠지만 일단 이렇게 설정하면 업로드는 잘 된다.
(💬 AWS 설정 너무 어려웡)

Amazon S3 > 버킷 > 내 버킷 > 권한 > 객체 소유권

객체 소유권 섹션에서 편집을 클릭하여 ACL 활성화됨을 선택하고, 객체 소유권은 버킷 소유자 선호를 선택하여 변경 사항을 저장한다.

이렇게 했더니 내 버킷으로 파일이 잘 업로드 된다.


💬 ㅎㅎ 이제 헤로쿠 대체제도 알아봐야지 ㅠㅠ...
좋은 시절 다 지나갔구만 흑

profile
Always have hope🍀 & constant passion🔥

0개의 댓글