讓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發生了變化

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM