인프런 커뮤니티 질문&답변
express redirect
작성
·
955
0
client 주소: http://localhost:3000
server 주소: http://localhost:5000
현재 저는 쿠키 공유 잘 되며 글 작성도 잘 됩니다. 그런데 client에서 server로 요청을 보내고 요건에 부합하지 않으면 client측 화면을 redirect 시키려는데 cors 오류가 발생합니다. 어떤부분을 보면 좋을까요?
server에서 redirect 주소는 http://localhost:3000/login 이런식으로 client 주소 작성했습니다.
추가적으로 client 측에서 router.push로 서버 주소로 요청보내고 로직 수행 후 응답 결과로 res.redirect는 cors 오류 없이 잘 동작합니다. 이건 또 왜 잘 되는걸까요.?
답변 1
0
cors 설정을 했는데 cors 에러가 나는 것은 보통 에러로 인해서 cors 설정이 무시되었기 때문입니다. 에러부터 확인해봐야할 수 있습니다. 해당 라우터에서요.
네 설정했습니다. cors 설정한거 끄면 오류 메세지가 at http://localhost:3000/login 이 아닌 http://localhost:4000 ~ 으로 뜹니다!
제가 지금 오류관련해서 짐작하고있는건 서버측에서는 cors 설정으로 클라이언트측 주소를 적어둬서 제대로 요청 및 응답이 동작하는데
서버측에서 res.redirect가 서버측에서 클라이언트 측으로 보내는 응답이라기보다는 응답 및 요청? 이라서 클라이언트측에서 오류를 발생하는게 아닌가 싶어서 찾아보는데 해결을 못하고있습니다..
다시 한번 확인해보곘습니다 ㅎㅎ 답변해주셔서 감사합니다.
그리고 추가적으로 질문 두가지 있는데요.
_app.tsx 에서 useEffect안에서 api 요청보내면 network 탭에 요청이 두번 가는걸로 찍히고 일반 페이지에서 useEffect내부에서 api 요청 보내면 하나찍히는데 이유가 뭘까요??
아래 사진처럼 js.js와 dom.js가 왜 여러번 network 탭에 찍히는걸 까요?? next.config.js에 reactStrictMode: false로 작성해도 동일합니다.






클라이언트측에서 cors 오류가 발생하는것같은데 어떻게하면 좋을까요?
인터넷에서 next rewrite 설정해보라해서 해봤는데 안됩니다 ㅜ 이것저것 해봤는데 제가 잘못하고있는건지 해결이 안되네요