nginx reverse proxy로 운영 중일 때 real ip 사용하기
nginx를 reverse proxy로 세팅하고 테스트를 하고 있는데 게시글을 작성하면 작성자의 ip 주소가 reverse proxy로 세팅된 서버의 ip가 기록되는 것을 보고 실제 사용자의 ip가 기록될 수는 없는지 확인을 했다. 검색을 해보니 backend 서버에서 설정이 빠져있어 제대로 적용이 되지 않은 것이었다. reverse proxy 설정은 이전 포스트를 참고하면 된다.
set_real_ip_from 192.168.0.1;
real_ip_header X-Forwarded-For;
위 설정을 사용하기 위해서는 nginx 컴파일시 –with-http_realip_module 옵션을 주고 설치를 해야만 한다. 설정 항목은 http, server, location 블록 안에 위치하면 된다. set_real_ip_from 은 reverse proxy로 설정된 서버의 ip를 적어주면 된다.
참고 : http://nginx.org/en/docs/http/ngx_http_realip_module.html