개발/ETC

invalid cors request 403 해결

devhooney 2023. 10. 6. 11:07
728x90

"Invalid CORS request 403" 오류는 Cross-Origin Resource Sharing (CORS) 관련 오류로, 웹 브라우저에서 발생하는 보안 관련 오류다. 이 오류는 다음과 같은 상황에서 발생할 수 있다

CORS 정책 위반: 웹 브라우저는 보안상의 이유로 동일한 출처가 아닌 서버로부터의 HTTP 요청을 차단한다. 만약 웹 페이지가 서로 다른 도메인 또는 포트에서 호스팅되고, 해당 페이지에서 다른 도메인의 API 또는 리소스에 접근하려고 하는 경우 CORS 정책을 준수해야 한다.

CORS 헤더 누락: 서버에서 CORS 관련 헤더를 설정하지 않거나 올바르게 설정하지 않은 경우, 웹 브라우저는 요청을 차단한다. 서버는 응답에 Access-Control-Allow-Origin 및 관련 헤더를 포함하여 클라이언트의 요청을 승인해야 한다.

프리플라이트 요청 문제: 웹 브라우저는 실제 요청을 보내기 전에 프리플라이트(사전 검사) 요청을 보낸다. 이 요청은 서버에서 허용되어야 하며, 서버에서 프리플라이트 요청에 대한 응답이 없거나 올바르게 설정되지 않은 경우 오류가 발생한다.


 

 

728x90

 

 

 

 

해결 방법

@RequiredArgsConstructor
@Configuration
public class WebConfig implements WebMvcConfigurer {
    
        @Bean
        public WebMvcConfigurer webMvcConfigurer() {
            return new WebMvcConfigurer() {
                @Override
                public void addCorsMappings(CorsRegistry registry) {
                    registry.addMapping(("/**"))
                            .allowedOrigins("*")
                            .allowedMethods(
                                    HttpMethod.GET.name(),
                                    HttpMethod.HEAD.name(),
                                    HttpMethod.POST.name(),
                                    HttpMethod.PUT.name(),
                                    HttpMethod.DELETE.name());
                }
            };
        }
    
}

 

이렇게 해결

728x90

'개발 > ETC' 카테고리의 다른 글

filename needs merge 에러 해결  (54) 2023.10.16
네이티브 앱, 하이브리드 앱, 크로스 플랫폼 앱 차이  (117) 2023.10.11
Transaction이란?  (74) 2023.10.05
URI is not absolute 해결  (69) 2023.10.04
REST API 란?  (0) 2023.06.08