nginx proxy

Younghwan Cha·2023년 6월 2일
0

nginx

목록 보기
6/7

proxy server 를 경유한 요청이 nginx server 에 도착했다고 해보자.
nginx server 입장에서는 proxy server 의 ip 만을 전달 받을 것이다. 하지만 만약 실제 사용자의 IP 를 찾고싶다면 어떻게 할까?
이에 대한 이야기를 해보자

실제 사용자 IP 찾기

nginx 에서는 geoip_proxy_recursive 지시자를 통해서 사용자 원래 IP 주소를 확인 할 수 있다.

http {
	
    geoip_proxy_recursive on;

geoip_proxy_recursive 는 어떻게 이러한 작업을 할 수 있을까?
비밀은 X-Forwarded-For 헤더값을 이용하는 것이다.

X-Forwared-For 헤더는 뭐야...?

X-Forwarded-For: client, proxy1, proxy2

하나의 요청이 여러 프록시들을 거치면, 각 proxy 의 IP 주소들이 X-Forwarded-For 헤더에 차례로 열거된다.
즉, 가장 오른쪽 IP 주소는 가장 마지막에 거친 proxy 의 IP 주소이고, 가장 왼쪽의 IP 주소는 최초 client 의 IP 주소를 의미한다.
nginx 의 geoip_proxy_recursive 지시자는 이 X-Forwarded-For 헤더값을 사용하여 최초 client 의 IP 값을 확인하는 것이다.

profile
개발 기록

0개의 댓글