在我支持的一个支持nginx的网站上,有些访问者在某个特定的代理之后。 由于请求通过代理的服务器,这些情况下的HTTP请求IP地址始终来自代理服务器,而不是原始请求者。
但是,代理确保将原始请求方IP包含在名为X-IORG-FBS-UIP的单独HTTP头字段中。 它也可以在X-FORWARDED-FOR中find。
在nginx访问日志中,我注意到代理IP是为所有这些用户显示的,而不是真实的IP。 我怎样才能configurationnginx的原始请求IP是由nginxlogging,而不是代理之一? 一个说明性的例子会很棒; 提前致谢!
ps我的nginx是v 1.4.6
这是通过使用set_real_ip_from来更新基于自定义标头的$ remote_addrvariables。 例如,可以如下创build/etc/nginx/conf.d/proxies_acl.conf ,以基于由1.2.3.0/22和23.22.20.0/22代理的请求的X-IORG-FBS-UIP报头来设置客户端IPvariables23.22.20.0/22 :
set_real_ip_from 1.2.3.0/22; set_real_ip_from 23.22.20.0/22; real_ip_header X-IORG-FBS-UIP;