在我维护的一个支持Nginx的网站上,一些访问者支持某个转发代理.由于请求通过代理服务器,因此在这些情况下,HTTP请求IP地址始终来自代理服务器而不是原始请求者.
但是,代理确保将原始请求者IP包含在名为X-IORG-FBS-UIP的单独HTTP头字段中.它也可以在X-FORWARDED-FOR中找到.
在Nginx访问日志中,我注意到代理IP是为所有这些用户显示的,而不是真正的IP.如何配置Nginx,使得原始请求者IP由Nginx记录,而不是代理?一个说明性的例子会很棒;提前致谢!
附:我的Nginx是v 1.4.6
最佳答案
这是使用set_real_ip_from基于自定义标头更新$remote_addr变量来完成的.例如,可以按如下方式创建/etc/Nginx/conf.d/proxies_acl.conf,以便为1.2.3.0/22和23.22代理的请求基于X-IORG-FBS-UIP标头设置客户端IP变量. 20.0 / 22:
原文链接:https://www.f2er.com/nginx/435168.htmlset_real_ip_from 1.2.3.0/22;
set_real_ip_from 23.22.20.0/22;
real_ip_header X-IORG-FBS-UIP;