如何在 node.js express 中获取 IP 地址

Api*_*hai 2 node.js express

我们如何从 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; 
});
Run Code Online (Sandbox Code Playgroud)

Jir*_*eng 6

你有没有尝试 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 地址不可靠。

的“信任代理”设置选项快递代理背后的更多信息