nginx의 proxy pass 사용 시 정확한 client ip 를 얻는 방법 (X-Forwarded-For)

학구·2022년 1월 25일
0

DevOps

목록 보기
2/3

유저들의 접속 로그를 남길 때 client ip정보를 함께 수집하려고 하는데, Proxy pass 를 통해 접속된 경우 client ip가 127.0.0.1로 고정된 ip로 수집되는 경우가 있습니다.
해결하는 방법을 설명해 드리겠습니다.

/etc/nginx/nginx.conf 에서 http { } 안쪽 상단에 아래와같이 넣어줍니다.

http {
    set_real_ip_from 10.100.10.0/24;
    real_ip_header X-Forwarded-For;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

그리고 nginx를 재실행 해줍니다.

systemctl restart nginx

이제 백엔드 단에서 정확한 client ip를 얻을 수 있습니다.

	const clientIP = req.headers['x-forwarded-for'] ||
    req.connection.remoteAddress;
profile
불꽃남자

0개의 댓글