CORS
2023. 1. 12. 21:06ㆍStudy/오류
728x90
Cross-Origin Resource Sharing 처음 리소스를 제공한 도메인이 현재 요청하려는 도메인과 다르더라도 요청을 허락해 주는 웹 보안 방침.
프론트 서버 localhost:3000, 백엔드 서버 localhost:8080 으로 쓰고 있을 때 프론트 서버에서 백엔드에 데이터를 요구하지만 백엔드 서버에서는 요청의 Origin이 localhost:8080이 아닌 localhost:3000이기에 거부하게 된다.
백엔드에서 CORS 방침을 설정할 수 있는데
package com.example.demo.config;
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 WebMvcConfig implements WebMvcConfigurer{
private final long MAX_AGE_SECS = 3600;
@Override
public void addCorsMappings(CorsRegistry registry) {
// TODO Auto-generated method stub
//모든 경로에 대해
registry.addMapping("/**")
//origin이 http>localhost:3000에 대해
.allowedOrigins("http://localhost:3000")
//get post put patch delete options 를 허용
.allowedMethods("GET","POST","PUT","PATCH","DELETE","OPTIONS")
//모든 헤더와 인증에 관한 정보(ccredentials)도 허용
.allowedHeaders("*")
.allowCredentials(true)
.maxAge(MAX_AGE_SECS);
}
}
allowedOrigins로 허용을 명시해줄 수 있다.
728x90
'Study > 오류' 카테고리의 다른 글
wsl 명령어가 안 될 때 (0) | 2023.01.24 |
---|---|
ubuntu 설치 오류 (0) | 2023.01.24 |