1
我需要为每个请求记录用户ip ady's到我们的JBoss Netty服务器。我想:JBoss Netty获取用户IP(Http请求)
MessageEvent e;
e.getChannel().getRemoteAddress();
是正确的答案,但总是返回127.0.0.1,我需要实际的客户端IP。来自Rails我检查了他们如何从文档中找到ip:
确定始发IP地址。 REMOTE_ADDR是标准配置,但如果用户位于代理之后, 会失败。 HTTP_CLIENT_IP和/或 HTTP_X_FORWARDED_FOR由 代理设置,因此请检查这些是否为 REMOTE_ADDR是代理。 HTTP_X_FORWARDED_FOR在多个 链式代理的情况下可能是逗号分隔列表;最后一个不信任的地址 是发起IP的 。
所以我应该检查在Netty中的所有标题还是有一个更简单的方法?