JBoss Netty获取用户IP(Http请求)

JBoss Netty获取用户IP(Http请求),ip,netty,Ip,Netty,我需要记录每个请求到JBoss Netty服务器的用户ip ady。我想: MessageEvent e; e.getChannel().getRemoteAddress(); 答案是正确的,但它总是返回127.0.0.1,我需要实际的客户端ip。来自Rails,我查看了他们是如何从docu中找到ip的: 确定起始IP地址。 远程地址是标准的,但将 如果用户在代理后面,则失败。 HTTP_客户端_IP和/或 的HTTP\u X\u转发\u由 因此,如果需要,请检查这些代理 远程地址是一个代理。

我需要记录每个请求到JBoss Netty服务器的用户ip ady。我想:

MessageEvent e;
e.getChannel().getRemoteAddress();
答案是正确的,但它总是返回127.0.0.1,我需要实际的客户端ip。来自Rails,我查看了他们是如何从docu中找到ip的:

确定起始IP地址。 远程地址是标准的,但将 如果用户在代理后面,则失败。 HTTP_客户端_IP和/或 的HTTP\u X\u转发\u由 因此,如果需要,请检查这些代理 远程地址是一个代理。 HTTP\u X\u转发的\u可能是逗号- 有多个分隔符的列表 连锁代理;最后地址 不受信任的是 原始IP


那么我应该检查Netty中的所有标题还是有更简单的方法?

好的,我有答案。使用ChannelHandlerContext而不是MessageEvent可以做到这一点

SocketAddress remoteAddress = ctx.getChannel().getRemoteAddress();