使用代理后,使用在JSP中获取真实IP
使用代理后
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"));