haproxy不能正确记录客户端的IP,

Apache + HAProxy 一台服务器(A)
Rails App 两台服务器(B,C) version=2.0.4

前段时间突然发现production.log中只能显示haproxy的IP.而不能显示真正的client ip
但在/etc/haproxy.cfg中已经注释了
#option forwardfor # enable insert of X-Forwarded-For headers

初步怀疑是HAProxy到mongrel的问题。经过在mongrel中debug,发现是rails code的问题。
rails v2.0.2升级到rails v2.0.4,加强了对IP的安全检查。
在application.rb中overwrite rails code.增加

#Overrides TRUSTED_PROXIES to allow the logging of the HTTP_X_FORWARDED_FOR ip in the logs (i.e. the client's ip):
ActionController::AbstractRequest.const_set("TRUSTED_PROXIES", /^unknown$|^111\.111\.111\.11|22$|^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\./i)


Production.log中能够显示client的真实IP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值