개발일기
CORS 오류
dev_0hoon
2024. 5. 1. 16:01
Access to XMLHttpRequest at 'http://localhost:8090/work/init' from origin
'http://www.loopcreative.co.kr' has been blocked by CORS policy:
The request client is not a secure context and the resource is in more-private
address space `local`.
위의 cors 오류가 떳다. react + srping boot api 개발 환경(localhost)에서 react인 3000번을 spring 설정으로 잡아줘서 cors오류를 잡아 줬었는데
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://도메인.co.kr","http://localhost:3000")
.allowPrivateNetwork(true)
.allowedMethods("OPTIONS","GET","POST","PUT","DELETE");
}
위처럼 운영환경에 도메인을 넣어도 해당 오류는 사라지지 않았다. 이유가 뭐일지 찾아보니
🌐 크롬 브라우저 PNA 권한과 CORS 해결하기
Chrome PNA (Private Network Access) 사설망 접근(private network access) 이란, 비인증된 공인(public) 웹사이트에서, 사이트를 방문한 사용자의 와 같은 사설 네트워크망(localhost(127.0.0.1) or 192.168.0.* 아이피) 엔드
inpa.tistory.com
위에 블로그에서 해답을 찾았다.

위의 2번 public 네트워크에서 -> 로컬호스트를 부르면 cors 오류가 있다.현재 내가 운영하는 사이트 또한
도메인.co.kr -> localhost:8080(api) 를 호출한다. 그래서 스프링 안에서 아무리 수정을 해도 오류가 나왔던 것.
도메인.co.kr -> 도메인.co.kr:8080 이 되도록 포트포워딩해서 해결했다.