2017-09-19 186 views
1

如何从node.js获取IP地址我尝试了很多方法,但它不起作用并返回:: ffff:127.0.0.1请给我一些建议如何获取node.js中的IP地址

这是我的代码:

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; 
}); 
+0

使用'req.ip'。如果你在一个proxi后面看看:http://expressjs.com/en/guide/behind-proxies.html –

回答

2

你有没有尝试req.ip

req.ip

包含REM请求请求的IP地址。

如果信任代理设置未计算为false,则值为 此属性源自 X-Forwarded-For标头中最左边的条目。该头可以由客户端或 代理设置。

的req.ip和req.ips值与地址从X - 转发,对于

列表填充见Express 4.x API (About req.ip)

如果您正在使用代理服务器的工作,它需要特殊的应用程序设置所谓trust_proxy(默认为false)

注意:X-Forwarded- *头很容易被欺骗和检测到的IP地址是不可靠的。

了解更多信息