공부하다죽어라
article thumbnail
Published 2021. 7. 14. 11:14
[Spring] CORS 설정 개발/Spring

CORS

 

CORS ( Cross-origin resource sharing )

직역하면 교차 출처 리소스 공유 입니다. 

 

 

말 그대로 서로 다른 도메인으로부터 자원을 공유하는 것입니다. 

그런데 서버측에서 아무런 설정을 하지 않게되면 CORS 이슈가 발생합니다.

 

 

특정한 도메인 간(cross-domain) 요청, 특히 Ajax 요청은 동일-출처 보안 정책에 의해 기본적으로 금지됩니다.

 

 

다음은 CORS의 동작원리입니다.

 

 

 

 

 

위 문제를 해결하기 위해 서버측에서는 교차 출처 요청을 허용해줘야 하는데 

Spring-boot 환경에서 CORS를 허용해주는 코드를 작성하겠습니다.

 

 

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("http://localhost:8080")
                .exposedHeaders("name","token")
                .allowCredentials(true);
    }
}

 

@Configuration 어노테이션을 등록하고 

 

org.springframework.web.servlet.config.annotation.WebMvcConfigurer 클래스의 addCorsMappings를 통해 리소스를 허용하는 코드를 작성합니다.

 

  • 만약 헤더값을 추가해 보내고싶다면 (JWT라던가..) exposeHeaders에서 따로 설정을 해줘야합니다.
profile

공부하다죽어라

@슥혁

감사합니다 👍🏻