如何获得使用Express 4.x的IP客户端
我想获得客户端的IP,我正在尝试本地主机(127.0.0.1 )
但我总是得到:: 1
我正在尝试使用
app.enable('trust proxy'); app.set('trust proxy', 'loopback'); app.get('/',function(req,res){ res.send(req.ip); //I always get :: 1 // or var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; res.send(ip);//I always get :: 1 });
如何得到127.0.0.1
而不是:: 1
。 这可以做到?
::1
是localhost
的IPv6等价物。 如果您只想让服务器侦听IPv4并因此只从客户端获得IPv4地址, app.listen()
可以在app.listen()
指定IPv4地址:
app.listen(3000, '127.0.0.1');
在NodeJS中获取客户端IP地址非常简单:
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress || req.connection.socket.remoteAddress; console.log(ip);