Nginx의 $remote_addr

2025. 5. 15. 09:47지식

nginx.conf 에는 아래와 같은 설정을 할수있습니다.

set_real_ip_from 10.10.44.0/24;   
real_ip_header    X-Forwarded-For;
real_ip_recursive on;

 

set_real_ip_from 10.10.44.0/24 

 IP 대역에서 온 요청에 대해서만 X-Forwarded-For 헤더를 신뢰하겠다는 뜻입니다.

즉 이 설정이 없으면 Nginx 는 X-Forwarded-For 내용을 무시하고 $remote_addr (실제 접속 IP, 보통은 로드밸런서의 IP)만 사용합니다. 

 

real_ip_header X-Forwarded-For 

어떤 헤더에서 클라이언트의 실제 IP를 가져올지를 지정합니다. 

일반적으로 로드밸런서는 원래 클라이언트의 IP를 X-Forwarded-For 라는 HTTP 헤더에 넣어 전달합니다.

이 설정은 Nginx 에게 X-Forwarded-For 헤더를 보고 클라이언트의 IP를 파악하라고 지시하는 것입니다.

 

real_ip_recursive on 

X-Forwarded-For 헤더에 여러 IP가 있을 경우, 맨 앞에 있는 원래 사용자 IP를 사용하라고 지시 합니다.

예를 들어, 요청 헤더가 아래처럼 생겼다고 가정하면:

X-Forwarded-For: 203.0.113.45, 10.10.44.24

203.0.113.45: 실제 클라이언트

10.10.44.24: 로드밸런서 

real_ip_recursive on 설정이 되어 있으면 203.0.113.45를 $remote_addr 변수에 덮어씁니다.

'지식' 카테고리의 다른 글

PEM과 CSR  (0) 2025.06.05
ASCII와 Base64  (0) 2025.06.04
TCP 연결 설정과 종료 과정  (0) 2025.03.30
HTTP 요청 메세지 분석  (0) 2025.03.29
인코딩의 종류  (0) 2025.03.29