公司是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發生了變化