tip:获取客户端真实的IP地址

服务器上运行nginx 转发请求到 tomcat 8080 的jsp

获取到的信息

 

request.getHeader("x-real-ip");= 58.x.x.x
request.getHeader("x-forwarded-for");=10.15.x.x, 58.x.x.x
request.getHeader("Proxy-Client-IP");=null
request.getHeader("WL-Proxy-Client-IP");=null
request.getRemoteAddr();=202.x.x.x

 

直接访问 tomcat 8080 的jsp

 

request.getHeader("x-real-ip");= null
request.getHeader("x-forwarded-for");=10.15.x.x
request.getHeader("Proxy-Client-IP");=null
request.getHeader("WL-Proxy-Client-IP");=null
request.getRemoteAddr();=58.x.x.x

 

客户端浏览器是有用代理的 58.x.x.x 是代理的公网IP。10.15.x.x 是客户端的局域网IP。 202.x.x.x 是tomcat服务器的IP

 

因此如果想获取远程用户上网的IP,只要获取 x-real-ip 如果 x-real-ip 为空,直接获取  request.getRemoteAddr();

 

你可能感兴趣的:(tomcat,nginx,jsp,浏览器)