Cute Running Puppy
본문 바로가기
개발일기/Java

Cors 에러가 뜨는 이유와 해결

by 징구짱 2023. 3. 20.
728x90

Cors 에러가 뜨는 이유와 해결!

https://inpa.tistory.com/entry/WEB-📚-CORS-💯-정리-해결-방법-👏 (참고자료)

 

에러가 뜨는 이유

사실 출처가 다른 두 어플리케이션이 자유로이 소통할 수 있는 환경은 꽤 위험한 환경이다.

만일 제약이 없다면, 해커가 CSRF(Cross-Site Request Forgery)나 XSS(Cross-Site Scripting) 등의 방법을 이용해서 우리가 만든 어플리케이션에서 해커가 심어놓은 코드가 실행하여 개인 정보를 가로챌 수 있다.

그렇기 때문에 동일 출처가 아니면 차단!!!

 

해결 방법

서버에서 Access-Control-Allow-Origin헤더에 허용할 출처를 기재해서 클라이언트에 응답하면 되는 것이었다.
즉, 백엔드 개발자가 고쳐야될 부분인 것

 

Spring 세팅

@Configuration(proxyBeanMethods = false)
public class WebConfig{

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {

            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                        .allowedOrigins("<http://localhost:3000>")	// 허용할 출처
                        .allowedMethods("GET", "POST","DELETE","PUT")	 // 허용할 HTTP method
                        .allowCredentials(true); 			// 쿠키 인증 요청 허용
            }
        };
    }
}
728x90