JBoss Netty获取用户IP(Http请求)
我需要记录每个请求到JBoss Netty服务器的用户ip ady。我想: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由 因此,如果需要,请检查这些代理 远程地址是一个代理。
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();