Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26314856
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: 系统运维

2010-02-01 22:56:45

当APACHE和NGINX等WEB服务器前端有负载均衡设备或者CACHE SERVER等情况下,APACHE日志中无法正确获取CLIENT的源IP,无法统计访问量,这个时候就要做一些设置上的更改。以下是两个例子:

1 APACHE 与 HAProxy 组合

APACHE前端有HAProxy,HAProxy配置成透明的反向代理,它会把CLIENT的IP地址用X-Forwarded-For 变量传递给后面的WEB SERVER。我们想要记录的是CLIENT的IP而不是HAProxy的IP,更改配置如下:

修改httpd.conf,将LogFormat中的%h修改为 %{X-Forwarded-For}i

#LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\ ” ” combined

LogFormat ”%{X-Forwarded-For}i %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined

2 APACHE 与F5 BIGIP LTM

APACHE的前端是F5 BIGIP  LTM 1600,APACHE的日志中记录的CLIENT IP是经过LTM NAT转换后的IP,需修改LTM的配置如下:

找到http profile,里面有一项设置是Insert XForwarded-For,将这个功能启用即可。

另外,NGINX上也有类似的配置,不过我未在生产环境中使用过NGINX,此处不做讨论。

 
阅读(1118) | 评论(0) | 转发(0) |
0

上一篇:gzip压缩原理

下一篇:学习使用 iptables

给主人留下些什么吧!~~