如果我的节点应用程序在nginx反向代理后面,如何获取访问者的IP?

时间:2016-03-15 12:07:02

标签: javascript node.js express nginx

我了解可以使用类似于以下内容的代码获取访问者IP:

var ip = req.headers['x-forwarded-for'] || 
     req.connection.remoteAddress || 
     req.socket.remoteAddress ||
     req.connection.socket.remoteAddress;

然而,当我在我的节点应用程序中使用此代码时(它位于同一服务器上的nginx反向代理后面),我只获得IP 127.0.0.1。

这是我的nginx位置:

location /myapp {
    proxy_pass http://127.0.0.1:8080;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

我该如何克服这个问题?

感谢您的帮助。

0 个答案:

没有答案