如题
我的项目采用了负载均衡,请求先发送到负载均衡器,再到apache前端服务器,最后到weblogic服务器,
在代码中使用如下方式获得客户端ip
String IP = request.getHeader("X-Forwarded-For");
if(IP == null || IP.trim().length() == 0){
IP = request.getHeader("WL-Proxy-Client-IP");
}
if(IP == null || IP.trim().length() == 0){
IP = request.getRemoteAddr();
}
if(IP == null || IP.trim().length() == 0){
IP = "no ip fund";
}
最后获得的是负载均衡器的ip地址,请问我如何能获得客户端的真正ip?
需要在负载均衡器上做什么配置吗?

解决方案 »

  1.   

    你的负载均衡器是什么? 在apache之前的吗?
      

  2.   

    你可以参考 http://www.weblogicfans.net/viewthread.php?tid=42&extra=page%3D1
      

  3.   

    这个就要问你的负载均衡器的厂家了,他们的产品到底把用户端IP放在哪里有很多负载均衡器都是放在HTTP HEAD的"X-Forwarded-For"里的,不过好像你的不行
      

  4.   

    建议你可以把HTTP HEAD里的信息全部打印出来看看