日期:2014-05-16 浏览次数:20652 次
使用代理后
request.getRemoteAddr(); 取到的不是真正的客户端IP地址而是代理服务器的地址
可以遍历一下Header信息,一般会在某个Header字段中写入真实客户的IP地址
<% response.setContentType("text/plain"); out.println("Request Headers:"); Enumeration names = request.getHeaderNames(); while (names.hasMoreElements()) { String name = (String) names.nextElement(); Enumeration values = request.getHeaders(name); // support multiple values if (values != null) { while (values.hasMoreElements()) { String value = (String) values.nextElement(); out.println("<br/>"+ name + ": " + value); } } } %>?
一般来说会是这个
out.println("REAL IP:" + request.getHeader("x-remote-addr"));