
Invalid CORS request (403 Forbidden)트러블슈팅2023. 10. 11. 19:13
Table of Contents
문제
프로젝트를 진행하던 중 프론트측으로 부터 아래와 같은 에러가 발생했다는 소식을 들었습니다.
스웨거와 postman에서는 정상적으로 작동을 하던 api가 위와 같이 message에 "Request failed with status code 403"가 적혀있고, 아래 data에는 "Invalid CORS request"라는 문장이 적혀있었습니다.
403 에러: 서버에 요청이 전달되었지만, 권한 때문에 거절되었음을 의미
해결
여러 가지 방법이 있겠지만, 저는 WebMvcConfigurer을 Bean 등록하여 해결하였습니다.
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
@EnableJpaAuditing
public class ProjectApplication {
public static void main(String[] args) {
SpringApplication.run(ProjectApplication.class, args);
}
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOriginPatterns("*")
.allowedHeaders("*")
.allowedMethods("GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS", "PATCH");
}
};
}
}
- WebMvcConfigurer: 스프링 프레임워크에서 제공하는 인터페이스로 MVC 구성 정보를 제어할 수 있게 함. 스프링 부트에 있는 기본 설정이 마음에 들지 않거나 스프링에 추가적인 설정을 해줄 필요가 있을 때 사용
- addMapping: CORS를 적용할 URL 패턴을 정의할 수 있음. "/**"처럼 와일드카드를 사용할 수 있음
- allowedOrigins: 자원 공유를 허락할 Origin을 지정. "*" 사용 시 모든 Origin 허용
- allowedHeaders: 클라이언트 측의 CORS 요청에 허용되는 헤더를 지정. "*" 사용시 모든 헤더 허용
- allowedMethods: 허용할 HTTP Method 지정. "*" 사용 시 모든 method 허용
참고자료
CORS 구성 - Amazon Simple Storage Service
CORS 구성 Cross-Origin 요청을 허용하도록 버킷을 구성하려면 CORS 구성을 생성합니다. CORS 구성은 버킷에 액세스할 수 있도록 허용할 오리진, 각 오리진에 대해 지원되는 작업(HTTP 메서드) 및 기타 작
docs.aws.amazon.com
'트러블슈팅' 카테고리의 다른 글
CRLF, LF? (0) | 2024.03.09 |
---|---|
구글 서비스 버전 충돌 문제 해결하기 (0) | 2024.01.27 |
H2 DB "start_value" 에러 (1) | 2023.11.23 |
git stash 명령어로 날려버린 파일 복구하기 (0) | 2023.11.01 |
BaseTimeEntity 적용 안됨 (0) | 2023.09.22 |
@Kyko :: Kyko dev_story
느리더라도 단단하게 성장하고자 합니다!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!