웹 브라우저가 다른 출처(도메인, 프로토콜, 포트) 에서 리소스를 요청할 때 발생하는 보안 기능
웹 브라우저는 기본으로 동일 출처를 따른다.(도메인, port가 같아야함)
해당 기능을 해제할 경우 다른 출처의 리소스를 받는 경우 보안에 취약해질 가능성이 있다.
@Override
public void addCorsMappings(CorsRegistry registry) {
WebMvcConfigurer.super.addCorsMappings(registry);
registry.addMapping("/**")
.allowedOrigins("https://localhost:3000")
.allowedOrigins("http://localhost:3000")
.allowedOrigins("Link_A")
.allowedOrigins("Link_B")
.allowedMethods("GET", "POST")
.allowedHeaders("*");
}
.allowOrigins를 여러번 호출하고 있다. 이러면 마지막에 지정된 부분만 적용이 되기 떄문에 앞서 설정한 것들은 효력이 없어진다.
@Override
public void addCorsMappings(CorsRegistry registry) {
WebMvcConfigurer.super.addCorsMappings(registry);
registry.addMapping("/**")
.allowedOrigins(
"https://localhost:3000",
"http://localhost:3000",
"http://burgerput.co.kr.s3-website.ap-northeast-2.amazonaws.com/",
"https://burgerput.co.kr/"
)
.allowedMethods("GET", "POST")
.allowedHeaders("*");
}
Spring config 파일에 셋업한 내용이다. allowOrigins를 한 번만 호출했다.
언제나 작업을 수행할 때에는 잘 알아보고 작업하도록 하자…
CORS에러는 단골이다. 정말 싫다. 이거때문에 고생 꽤나 했었다. 하지만 해결한 지금 CORS에 대해서 조금 더 알아볼 필요는 있는 것 같다. ㅠㅠ
#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL