如何在node.js中获取IP地址
我们如何从node.js获取IP地址我尝试了很多方法,但它不工作,并返回:: ffff:127.0.0.1请给我一些build议
这是我的代码:
app.put('/update-user-info', function(req, res){ // it's doesn't work and return ::ffff:127.0.0.1 var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress || req.connection.socket.remoteAddress; });
正如GuroKing所说,我要再补充一点。
– Add app.set('trust proxy', true)
在nginx.conf文件中:
proxy_set_header X-Real-IP $remote_addr;
你有没有尝试req.ip
req.ip
包含请求的远程IP地址。
当信任代理设置不计算为false时,此属性的值将从X-Forwarded-For头中最左边的条目派生。 这个头可以由客户端或代理来设置。
req.ip和req.ips值将填入来自X-Forwarded-For的地址列表
请参阅Express 4.x API(关于req.ip)
如果您使用代理,它需要一个名为trust_proxy
的特殊应用程序设置(默认为false)
注 :X-Forwarded- *标头容易被欺骗,检测到的IP地址不可靠。
有关更多信息,请参阅“信任代理”设置选项和代理后面的“expression式 ”