1

这应该是一个普遍的要求。请建议。

我的服务在代理服务器后面运行,该代理服务器接收来自客户端的 http 请求并将其转发到许多可用服务器之一。

现在我想记录调用者的身份(IP 地址和主机名)。但问题是,由于我从代理获得请求,因此我碰巧获得了代理详细信息(而不是调用者)。当我做一个request.getRemoteAddr();和随后InetAddress.getByName(ip).getHostName()

有没有办法做到这一点?

4

2 回答 2

3

反向代理通常会使用“X-Forwarded-For”标头来识别原始浏览器:

http://en.wikipedia.org/wiki/X-Forwarded-For

于 2011-01-04T07:02:29.220 回答
1

我假设您的意思是反向代理。一些反向代理将设置额外的请求标头,指示有关客户端的详细信息。您可以尝试查看要查看的标头以查看是否有任何内容跳出,或者查看代理的文档。

于 2011-01-04T04:10:01.317 回答