request.getRemoteAddr()无法在linux下运行

时间:2012-10-03 09:23:42

标签: linux jsp tomcat

我有一个jsp web应用程序。我正在使用代码

设置隐藏输入的值
request.getRemoteAddr()

用客户端的IP地址填充它。当我的webapp部署在tomacat / windows上时,它给了我正确的IP。但是当webapp部署到tomcat / linux时,它给了我错误的IP地址,比如10.0.xx.xx

如何解决?

2 个答案:

答案 0 :(得分:0)

如果有人(包括您自己)在此服务器前面有代理,getRemoteAddr()将返回代理的地址,而不是客户的地址。

答案 1 :(得分:0)

如果您的服务器位于代理服务器后面,您可以使用X_FORWARDED_FOR标头检索原始地址:

request.getHeader("X_FORWARDED_FOR");