NETWORK · CH13

Nginx를 리버스 프록시로 사용하기

Nginx는 외부 요청을 받아 upstream 백엔드로 넘기고 원래 클라이언트 정보를 헤더로 보존합니다.

핵심 분해

설정 구조
upstream백엔드 서버 목록과 가중치, 백업 서버를 정의합니다.
server도메인, 포트, TLS 인증서 같은 진입점을 설정합니다.
location경로별로 정적 파일 서빙 또는 프록시 전달을 나눕니다.
headersX-Real-IP, X-Forwarded-For로 원본 클라이언트 정보를 전달합니다.

흐름으로 읽기

flow
ClientHTTPS 요청
NginxTLS·라우팅
upstream백엔드 선택
주의점

X-Forwarded-For는 신뢰한 프록시에서 온 값만 믿어야 하며, 외부 입력을 그대로 신뢰하면 안 됩니다.

location /api/ {
  proxy_pass http://backend;
  proxy_set_header X-Real-IP $remote_addr;
}