王志明

Nginx反代Apache,利用mod_remoteip模块获取用户真实Ip

在之前一篇文章种可以利用mod_rpaf模块来解决Apache日志获取用户IP问题,但是PHP中$_SERVER[‘REMOTE_ADDR’]无法获取用户真实IP,我们可以用mod_remoteip模块来解决。


apache2.4 已经默认编译了mod_remoteip模块直接配置就可以了

配置:

配置http.conf: 在Apache配置文件中加入

RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1

修改日志相关格式,找到LogFormat,把%h改成%a

LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O"

参考

http://gurutek.biz/mod_rpaf-and-mod_remoteip/ http://stackoverflow.com/questions/19827250/how-to-set-nginx-reverse-proxy-apache-2-4php5-module-with-mod-remoteip https://community.rackspace.com/products/f/25/t/211 http://www.gossamer-threads.com/lists/apache/users/426859 http://w3facility.org/question/how-to-set-nginx-reverse-proxy-apache-2-4php5_module-with-mod_remoteip/