我有一个jsp web应用程序。我正在使用代码
设置隐藏输入的值request.getRemoteAddr()
用客户端的IP地址填充它。当我的webapp部署在tomacat / windows上时,它给了我正确的IP。但是当webapp部署到tomcat / linux时,它给了我错误的IP地址,比如10.0.xx.xx
如何解决?
答案 0 :(得分:0)
如果有人(包括您自己)在此服务器前面有代理,getRemoteAddr()
将返回代理的地址,而不是客户的地址。
答案 1 :(得分:0)
如果您的服务器位于代理服务器后面,您可以使用X_FORWARDED_FOR标头检索原始地址:
request.getHeader("X_FORWARDED_FOR");