Spring Boot는 아파치 톰캣
Spring Boot에서 NGINX는 어떻게 사용함?
NGINX는 로드 밸런스용. 그
리고 포트 포워딩 느낌의 프록시 웹 서버로의 사용이 가능하다.
Spring Boot는 아파치 톰캣 그대로 사용하고, NGINX를 통해 80 | 443 포트의 요청을 Spring Boot로 인해 동작중인 톰캣에게로 전달해주도록 구성하면 된다.
[HTTPS 통신 구현 NGINX Spring Boot ](https://dori2005.notion.site/HTTPS-c35f8dbd287a4522bfe24f412a2750fa)
sudo vim /etc/nginx/nginx.conf : 설정파일
sudo nginx -t : 설정파일 확인

location
location 이후에 지시어를 입력하여, NGINX에 들어온 요청의 경로를 알맞은 서버로 전달시켜주는 프록시 서버 역할을 한다.
동작 방식을 간단히 요약하자면, location <경로> {} 로 선언되어, 해당 블록 내부에서 proxy_pass <http://endpoint>; 로 요청을 전달한다. 이 때 전달되는 방식은 작성에 따라 무척 다양하다.
/ 경로로 시작.
이 때, endpoint에 전달되는 경로는 생략되지 않고, 모두 전달된다.
예 : /chat/example 입력시 /chat/example 그대로 pass에 전달된다.
location /chat/ {
proxy_set_header HOST $host;
proxy_pass <http://127.0.0.1:4000>;
proxy_redirect off;
}
하지만 proxy_pass의 endpoint에 입력될 경로 방식을 정해뒀다면, 해당 경로와 일치하는 부분부터 전달 가능하다.
예 : /chat/ 부분이 / 로 치환된다. /chat/example 입력시 /example만 전달된다.
location /chat/ {
proxy_set_header HOST $host;
proxy_pass <http://127.0.0.1:4000/>;
proxy_redirect off;
}
=,~,^ 정규식으로 시작