본문 바로가기
ERROR FIX

스프링 CORS 처리 (+스프링 클라우드 게이트웨이)

by ppirae 2023. 11. 5.

CORS ( Cross-Origin Resource Sharing ) 란

다른 출처간의 같은 리소스를 공유할때 일어나는 현상이다.

 

회사 업무로 U**서버 CORS 처리가 필요하여 작업을 진행하였다.

 

첫 번째는 먼저 U** 서버에 CORS 처리를 진행하였다.

스프링부트에서는 @CrossOringin 어노테이션을 이용하여 쉽게 CORS 처리가 가능하다.

하지만 이 어노테이션은 스프링 4.2 버전부터 지원하고

U** 서버는 스프링 4.0 버전이라 다른 방법을 사용하였다.

 

WebMvcConfigure.java 파일에 직접 설정하여 해결하였다.

 

이 작업 후에는 CORS 처리가 잘 될것이라고 생각하였으나, 그래도 동일한 CORS 문제가 발생하였다.

 

그래서 원인을 찾아보던 중, 우리 회사의 모든 신호는 게이트웨이를 통해 들어오는데

게이트웨이에 CORS 처리가 필요하다는 것을 깨달았다.

 

두 번째는 게이트웨이에 CORS 처리를 해주었다.

해당 게이트웨이는 Spring Boot와 Spring Cloud Gateway로 되어있기 때문에

스프링 공식문서를 활용하여 application.yml 파일에 CORS 설정을 추가하였다.

 

이 두 과정을 거쳤더니 CORS 문제를 해결할 수 있었다.

 

참고) https://docs.spring.io/spring-cloud-gateway/reference/spring-cloud-gateway/cors-configuration.html

 

CORS Configuration :: Spring Cloud Gateway

You can configure the gateway to control CORS behavior globally or per route. Both offer the same possibilities.

docs.spring.io

 

댓글