故事背景:
由于老谢博客目前使用nginx做前端反代,后端的apache日志记录的全部都是反代服务器的ip,
无法记录到真是访问者的ip,本文就是介绍如何配置,让apache记录真实访问者的ip地址。
nginx反代规则
server
{
listen 80;
server_name demo.com www.demo.com;
location / {
proxy_pass http://apache.demo.com/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
} |
server
{
listen 80;
server_name demo.com www.demo.com;
location / {
proxy_pass http://apache.demo.com/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
apache端配置
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar xvfz mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/usr/local/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c |
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar xvfz mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/usr/local/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
编辑httpd.cong,添加以下代码
<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 #反代服务器ip
RPAFheader X-Forwarded-For
</IfModule> |
<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 #反代服务器ip
RPAFheader X-Forwarded-For
</IfModule>
加载模块
LoadModule rpaf_module modules/mod_rpaf-2.0.so |
LoadModule rpaf_module modules/mod_rpaf-2.0.so
定义日志格式
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" varnishcombined |
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" varnishcombined
调用样例
CustomLog "/home/wwwlogs/$domain.log" varnishcombined |
CustomLog "/home/wwwlogs/$domain.log" varnishcombined
最新评论
zwwooooo:买特斯拉和买iPhone的人群其实相似...
平安家属子痕:一直坚持油车,看你写的心里有...
秦大叔:室内每年能开2万公里电车确实划算 ...
灰常记忆:尊贵的特斯拉车主啊,对了一直对单...
拳废神域界:我的车现在平常跑不了啥,就放假...
大峰:电车起步超级快,我油车反正是跟不上,...
Mr.Chou:电车高速上真120和油车120真的有区...
Mr.Chou:18 19年入手的房子现在死的心都有了...
老何:不至于跌得这么狠吧
Andy烧麦:这些大厂都能提供必要的售后