728x90
반응형
SMALL
웹 서버와의 원활한 통합을 위해 CORS 헤더를 적절히 관리하는 스프링 기반의 빈 설정이다.
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CorsConfig {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**")
.allowedOrigins("https://www.example.com")
.allowedMethods("GET", "POST", "PUT", "DELETE")
.allowedHeaders("Authorization", "Content-Type")
.exposedHeaders("Custom-Header")
.allowCredentials(true)
.maxAge(3600);
}
};
}
}
- /api/** 경로에 대한 CORS 설정을 적용한다.
- https://www.example.com 출처의 요청만 허용한다.
- GET, POST, PUT, DELETE 메서드를 허용한다.
- Authorization과 Content-Type 헤더를 허용한다.
- Custom-Header라는 사용자 정의 헤더를 클라이언트에 노출한다.
- 자격증명(예:쿠키)을 포함한 요청을 허용한다.
- 프리플라이트 요청의 결과를 1시간(3600초) 동안 캐시한다.
위 설정 기반으로 사용하면 지정된 출처에서의 요청에 대해 적절한 CROS 헤더가 자동으로 추가된다.
728x90
반응형
LIST
'Web&Spring' 카테고리의 다른 글
HTTP method 제한하기 (get, post만 받기 / restful api, web.xml) (0) | 2024.06.22 |
---|---|
Tomcat 지정된 서비스가 설치된 서비스로는 없습니다. 오류 해결 (0) | 2024.03.31 |
Cannot build Artifact 'project:war exploded' because it is included into a circular dependency 인텔리J (0) | 2024.03.31 |
SSL 현재 적용 상태를 테스트하는 사이트 (0) | 2024.03.27 |
nslookup 이용해서 도메인으로 ip 조회하기 (0) | 2023.03.16 |