[Nginx] proxy_set_header X-Forwarded-For, X-real-IP

JinUk Lee·2024년 10월 8일
1
# default.conf

server {
    listen 80;
    server_name api.isdfans.site https://api.isdfans.site;

    location / {
        proxy_pass http://backend:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

proxy_set_header은 HTTP 헤더를 설정할 수 있는 옵션이다.

proxy_set_header X-Real-IP $remote_addr; : HTTP 헤더 중에서 X-Real-IP 옵션을 $remote_addr (클라이언트의 IP)로 설정한다는 세팅이다.

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; : HTTP 헤더 중에서 X-Forwarded-For 옵션을 $proxy_add_x_forwarded_for (XFF)로 설정한다는 세팅이다.

X-Real-IP, X-Forwarded-For(XFF)

X-Real-IP 는 바로 직전 클라이언트의 IP이다.

X-Forwarded-For(XFF) 는 지금까지 거쳐온 IP의 총 집합이다.

현재 클라이언트 - ec2 - nginx - django 로 연결된 웹페이지에서 HTTP 메타데이터를 살펴보면

XFF에는 집 IP - EC2 IP가 순서대로 나오고 X-Real-IP에는 직전의 EC2 IP가 나오는 것을 볼 수 있다.

profile
개발자 지망생

0개의 댓글