多次反向代理后Nginx获取用户真实IP

Nginx 经过多层反向代理后,一般的X-Forwarded-For取到的是多个IP,类似这样

1
X-Forwarded-For: client, proxy1, proxy2

为了只获取客户端真实IP,可以通过这个变量获得,修改对应的Nginx访问日志格式即可,前提是需要安装real_ip模块

1
$http_x_real_ip

以下的IP段为nginx前一个代理的IP

1
2
set_real_ip_from 100.109.0.0/24;
real_ip_header X-Forwarded-For;

参考

https://www.cnblogs.com/diaosir/p/6890825.html

坚持原创技术分享,您的支持将鼓励我继续创作!