如何使用express 4.x获取ip客户端

Jul*_*eña 8 node.js express

我想得到客户端的IP,我正在尝试使用localhost,(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
});
Run Code Online (Sandbox Code Playgroud)

如何得到127.0.0.1而不是:: 1.这可以做到吗?

Tro*_*ott 17

::1是IPv6的等价物localhost.如果您只想让服务器通过IPv4监听,因此只有来自客户端的IPv4地址,您可以在app.listen()以下位置指定IPv4地址:

app.listen(3000, '127.0.0.1');
Run Code Online (Sandbox Code Playgroud)