Node.js 标头不显示ip地址?

Node.js 标头不显示ip地址?,node.js,header,koa,Node.js,Header,Koa,我使用NPM中的KoaIO来获取客户端连接的IP地址。当我尝试以下代码时,上面的代码会打印在控制台中。我似乎无法获取客户端的ip地址 { host: '127.0.0.1:8080', connection: 'keep-alive', 'cache-control': 'max-age=0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Ch

我使用NPM中的KoaIO来获取客户端连接的IP地址。当我尝试以下代码时,上面的代码会打印在控制台中。我似乎无法获取客户端的ip地址

{ host: '127.0.0.1:8080',
  connection: 'keep-alive',
  'cache-control': 'max-age=0',
  'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/44.0.2403.89 Chrome/44.0.2403.89 Safari/537.36',
  accept: '*/*',
  referer: 'http://127.0.0.1:8080/',
  'accept-encoding': 'gzip, deflate, sdch',
  'accept-language': 'en-US,en;q=0.8',
  cookie: 'io=bP2eXrqS3SkWYY4cAAAC11' }

我目前在本地主机上。因此,我希望客户端ip地址为127.0.0.1?

尝试
this.request.ip
。它应该有用

经过测试,我意识到两件事

  • 在代理之后,确保代理使用x-forwarded-for标头转发客户端ip
  • 理论1。应该足够
    this.request.ip
    返回客户端ip,但它不是。但是在配置我的代理之后,
    this.request.header[“x-forwarded-for”]
    返回客户端ip
  • 使用此简单服务器进行测试:

    app.io.use(function* userLeft(next) {
        // on connect
        console.log(this.headers);
    });
    

    你好,我试过:
    console.log(this.request.ip)
    ,返回undefined:/您正在代理服务器后面吗?我在这里使用nginx,但我也没有得到cleint ip。我必须做两件事才能把它做好。在我的服务器nginx配置中,我必须添加
    proxy\u set\u头X-Forwarded-For$proxy\u add\u X\u Forwarded\u For
    与文档“x-forwarded-for”相反,它不受支持,因此我必须
    this.request.header[“x-forwarded-for”]
    。我会相应地更新答案…您好!Im当前仅在localhost上提供所有内容。也许这就是问题所在?我现在刚刚尝试了localhost和
    console.log(this.request.ip)返回::ffff:127.0.0.1。你运行的是什么版本的膝关节炎和淋巴结?两者都是最新的!0.12为节点和膝关节炎1.1.0(最新)
    
    var koa = require('koa');
    var app = koa();
    
    app.use(function *(){
    this.body = this.request.ip;
    });
    
    app.listen(3000);