读书人

在java中失去通过nginx中转前的访客IP

发布时间: 2012-11-19 10:18:51 作者: rapoo

在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。

读书人网 >开源软件

热点推荐