외부 클라이언트에서 Spring Boot 서버에 접근했을 때 아래와 같이 CORS가 발생했을 때 해결 방법을 설명 드리겠습니다. 그리고 Ngrok 툴을 사용하여 터널을 여는 식으로 통신하신 분들이 생긴 CORS도 같이 해결 방법을 설명 드리겠습니다.
일반적인 CORS 해결 방법 입니다.
1. 아래와 같이 Controller클래스 위측에 @CrossOrigin 어노테이션을 추가하여 외부 클라이언트에 모든 접근을 허용해 줍니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
@RestController
@RequestMapping("/login")
@CrossOrigin(origins = "*", allowedHeaders = "*")
public class LoginController {
@Autowired
LoginService service;
@PostMapping("/")
public String insert(@RequestBody UserVO vo) {
System.out.println(vo);
int i = service.checkId(vo.getEmail());
if(i > 0) {
return "joinFail";
} else {
service.insert(vo);
return "joinSuccess";
}
}
}
|
cs |
Ngrok 툴을 사용하시는 분들 중에서 위와 같이 @CrossOrigin 어노테이션을 추가 하였음에도
CORS가 발생하였을 경우의 해결 방법 입니다.
1. Ngrok 툴을 사용하여 터널을 열때 아래의 명령어를 사용하여 터널을 열어줍니다.
1
|
ngrok http -host-header=rewrite 8080
|
cs |