Search

nginx reverse proxy

http { # 업스트림 서버 그룹 정의 (로드밸런싱) upstream backend_servers { server backend1.example.com:8080; server backend2.example.com:8080; server backend3.example.com:8080; } server { listen 80; # 80포트(HTTP)에서 요청을 수신 server_name example.com; # 적용될 도메인 이름 지정 location / { # 루트 경로'/'로 들어오는 모든 요청에 대한 처리 규칙 proxy_pass http://backend_servers; # 위에서 정의한 업스트림 그룹을 참조 proxy_set_header Host $host; # 원래 요청의 호스트 헤더를 백엔드 서버로 전달 proxy_set_header X-Real-IP $remote_addr; # 클라이언트의 실제 IP 주소를 백엔드로 전달 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 클라이언트와 중간 프록시의 IP 주소 목록을 전달 proxy_set_header X-Forwarded-Proto $scheme; # 원래 요청이 사용한 프로토콜(http/https)을 전달 # 타임아웃 설정 proxy_connect_timeout 5s; # 백엔드 서버와의 연결 수립 제한 시간 (5초) proxy_send_timeout 10s; # 백엔드 서버로 요청을 전송하는 제한 시간 (10초) proxy_read_timeout 10s; # 백엔드 서버로부터 응답을 읽는 제한 시간 (10초) # 버퍼 설정 proxy_buffering on; proxy_buffer_size 16k; proxy_buffers 4 16k; } # 정적 파일 처리 location /static/ { root /var/www/example; expires 30d; # 정적 파일에 대한 캐시 만료 시간 설정 } } }
JSON
복사