我们如何从node.js获取IP地址我尝试了很多方法,但它没有工作并返回:: ffff:127.0.0.1请给我一些建议
这是我的代码:
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 :(得分:3)
您是否尝试req.ip
req.ip
包含请求的远程IP地址。
当信任代理设置未评估为false时,值为 此属性派生自最左侧的条目 X-Forwarded-For标题。此标头可以由客户端或通过 代理。
req.ip和req.ips值填充了X-Forwarded-For
的地址列表请参阅Express 4.x API (About req.ip)
如果您使用的是代理,则需要一个名为trust_proxy
的特殊应用程序设置(默认为false)
注意:X-Forwarded- *标头很容易被欺骗,检测到的IP地址也不可靠。
有关详细信息,请参阅Options for 'trust proxy' setting和Express behind proxies
答案 1 :(得分:2)