문제 상황

AWS S3에 저장되어 있는 json 데이터를 fetch로 불러오려고 시도했더니,
아래와 같은 에러메세지가 나왔다.

CORS가 도대체 뭘까?

몇몇 글들을 읽어본 결과,
Origin이란 프로토콜, 주소, 포트번호의 쌍을 말한다.

결국, 요청을 보낸 측의 origin(http://localhost:3000)이 요청을 받는 서버의 origin과 달라서 통신을 허용하지 않고 있는 것이다.

브라우저에서 이 정책을 만들어 내는 것이라고 한다.(클라이언트도 서버도 아니다)

해결방법

아래와 같이, 응답헤더에 속성을 설정하면 된다고 한다.

res.set({'access-control-allow-origin': '*'});

참고 사이트

  • https://kamang-it.tistory.com/entry/Web%EB%8F%99%EC%9D%BC-%EC%B6%9C%EC%B2%98-%EC%A0%95%EC%B1%85-CORS-%EB%8F%84%EB%8C%80%EC%B2%B4-%EB%AD%98%EA%B9%8C
  • https://coding-groot.tistory.com/91
  • https://evan-moon.github.io/2020/05/21/about-cors/?fbclid=IwAR05s1H6e9emxRrncbBsrNpZd-tDShy3snt4_dGvhaKtCfIGBtPC0Vma_SU
profile
21c Carpenter

0개의 댓글