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에서 따로 설정을 해줘야합니다.
'개발 > Spring' 카테고리의 다른 글
| [Spring] Properties 파일 분리 (0) | 2021.08.02 |
|---|---|
| [Spring Batch] 스프링 배치 구현하기 (0) | 2021.06.25 |
| [Spring Batch] 스프링 배치의 이해 (0) | 2021.06.23 |
| [Spring] Jar 파일 실행 ( IntelliJ, Maven ) (0) | 2021.06.12 |
| [Spring] Eureka Server 환경 설정 (0) | 2021.05.06 |