Spring CORS 설정: WebConfig 작성부터 wildcard '*', withCredentials 문제 해결까지
·
spring 스프링
[왜 WebConfig를 작성해야 할까?]프론트엔드와 백엔드가 분리된 환경에서는 각각의 도메인이 다르기 때문에 브라우저는 보안상의 이유로 자동으로 요청을 막는다. 이걸 CORS(Cross-Origin Resource Sharing)라고 한다. 예를 들어 프론트앤드의 DNS 주소는 https://project-test인데 프론트가 백에게 API를 요청할 때는 https://api-project-test로 넘겨 주게 된다. 이 경우, 브라우저는 서버에 직접 요청을 보내기 전에 OPTIONS 메서드로 사전요청(preflight)을 보낸다. 그런데 백엔드에서는 "응답 가능해~"라고 명시적으로 허용하지 않으면, 브라우저는 요청 자체를 막아버리는 것이다. 이때 필요한게 바로 WebConfig를 통한 CORS..