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
복사
