0

我有一个 jsp 网络应用程序。我正在使用代码设置隐藏输入的值

request.getRemoteAddr()

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

如何解决?

4

2 回答 2

0

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

于 2012-10-03T10:50:20.313 回答
0

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

request.getHeader("X_FORWARDED_FOR");
于 2012-10-03T14:44:34.443 回答