在java中得到通过nginx中转前的访客IP

现在nginx用到很普遍,如果这个时候我们在后端需要了解来访者的ip,直接用request.getRemoteAddr方法拿到是nginx服务器的ip,而非真正的来访者ip。

可以用如下方法:

第一步:在nginx.conf中配置反向代理时把真实IP带上,例如:  

server {  
  listen 80;  
  server_name scriptlover.com;  
  location ~ ^/(WEB-INF)/ {  
  deny all;  
}  

  location / {  
      proxy_pass http://localhost:8888;  
      proxy_set_header X-Real-IP $remote_addr;  
  }  
}  

第二步:应用程序中用 String ip = request.getHeader("X-Real-IP");替代String ip = request.getRemoteAddr();即可拿到真正的访客ip。

猜你喜欢

转载自langzhiwang888.iteye.com/blog/1716803