Server

nginx - react - springboot 환경에서 cors이슈해결기록

기기디 2021. 5. 20. 13:00

신규프로젝트 초기설정 진행중

AWS EC2에서 docker로 배포하고 react는 node로 띄우고  springboot는 tomcat으로 띄워쓰는 상황.

proxy를 설정하여 cors를 해결하면 dev에만 적용된다. 배포환경에서 해결할떄는 api server단에서 설정

 

개발환경에서는 package.json에 "proxy" : "[uri]"설정하거나 http-proxy-middleware설치하여 설정잡아서 해결

 

운영환경에서는 springboot쪽에 WebMvcConfigurer를 implement받은 클래스를 생성하여

 

addCorsMappings를 오버라이드하여 설정함.

 

 

리액트단에서

axios.defaults.baseURL = process.env.NODE_ENV === 'development' ? '[dev url]' : '[prd url]';

다음과 같이 개발,운영환경을 구분하여 설정함.

 

 

nginx문제인줄 알고 nginx.conf에

error_page 405 =200 $uri;

설정을 넣기도 했지만 잘 안됐음