让apache后端显示真实客户端IP

公司是nginx做代理,后端的web服务用的是apache,然后我现在要分析日志,但是,我的apache日志上显示的是代理服务器的ip地址,不是客户的真实IP

所以这里我需要修改一下,让apache的日志显示客户的真实IP。从网上记录搜了一些文档,现在整理如下。

文章参考:

http://www.ttlsa.com/apache/apache-get-real-ip/

http://www.weixiaodeyu.com/blog/yum-apache-install-mod_rpaf.html

首先要做的就是下载需要的模块:mod_rpaf

好多都是说:

wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz下载模块,但是发现这个下载不了,按照其他的一些方法下载之后,发下安装的时候报错

于是请教了一朋友,他说他那里有包。但是他也不知道是从那里下的了

下载完压缩包之后就是解压了。tar   xf

cd mod_rpaf-0.6/

apxs  -i -c -n mod_rpaf-2.0.slo mod_rpaf-2.0.c

apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
网上还有一种说法是不同版本的apache安装这个模块的方法是不同的,我的是apache 2的
安装成功后会有如下输出


注意:apxs工具如果不存在,使用yum install httpd-devel安装。

添加apache的配置

vim httpd.conf

找到LoadModule配置项,在最后面添加

LoadModule rpaf_module        modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 192.168.50.10 # 代理服务器的ip地址(记得做相应修改)
RPAFheader X-Forwarded-For
备注:RPAFproxy_ips后面添加代理服务器的ip地址,有几个填几个
 
然后我们可以检查一下raaf 这个模块有没有装上
apachectl -M | grep rpaf
 
rpaf_module (shared) 打印出这个就代表装上了。

修改完成之后,重启apache,同时再开一个窗口打印日志

会发现日志的ip发生了变化

 

posted @ 2016-08-02 10:20  BigBao的博客  阅读(2558)  评论(0编辑  收藏  举报