【问题标题】:get IP and HostName of from request routed through a proxy [duplicate]从通过代理路由的请求中获取 IP 和主机名 [重复]
【发布时间】:2011-06-03 04:32:45
【问题描述】:

这应该是一个常见的要求。请提出建议。

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

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

有没有办法做到这一点?

【问题讨论】:

    标签: java servlets hostname


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-20
        • 1970-01-01
        • 2018-01-02
        • 1970-01-01
        • 1970-01-01
        • 2013-02-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多