nginx 리버스 프록시
nginx 리버스 프록시 — upstream·location·헤더·타임아웃·정적 분리
앞 레슨에서 nginx 를 설치했다면 이번에는 그 nginx 를 Tomcat 앞에 세웁니다.
conf.d/app.conf하나로 upstream 을 정의하고, location 매칭 순서를 이해하고, 백엔드가 실제 클라이언트 정보를 받도록 헤더를 넘기고, 타임아웃과 업로드 한도를 정하고, 정적 파일은 nginx 가 직접 서빙하도록 나눕니다.
이 PC 에는 Tomcat·nginx·systemd 가 없어 DRY_RUN=1 로 흐름과 설정 파일만 확인했고, 실제 설치는 RHEL 서버에서 bash 01_nginx_proxy.sh 로 합니다.
1. 왜 배우는가
nginx 를 Tomcat 앞에 두는 이유는 정적 파일 서빙, TLS 종료, 여러 백엔드로의 분기를 자바 애플리케이션 코드 밖에서 처리하기 위해서입니다. 자바 프로세스는 요청 처리에만 집중하고, 나머지는 설정 파일 한 장으로 관리합니다.
설정이 틀리면 502·504 같은 오류가 나거나, 백엔드가 실제 클라이언트 IP 를 못 봐서 로그·접근 제어가 무의미해집니다. location 매칭 순서와 proxy_pass 슬래시 규칙을 모르면 의도한 경로가 아닌 곳으로 요청이 새는 사고가 흔합니다.
이 레슨은 upstream·location·헤더·타임아웃·정적 분리를 한 파일에 담아 직접 작성하고 검증합니다. 실제 운영에서 흔히 쓰는 최소 구성을 그대로 가져다 쓸 수 있게 만듭니다.