通过NodeJS Express仅获取IPv4 ips

Avi*_*sho 2 centos ipv4 ipv6 node.js express

我有一个NodeJS express正在运行的服务,Centos并监听GET请求,我需要标识用户的IP。

目前,我正在使用此脚本

ip = req.headers['x-forwarded-for'] ||
      req.connection.remoteAddress ||
      req.socket.remoteAddress ||
      req.connection.socket.remoteAddress
Run Code Online (Sandbox Code Playgroud)

问题在于,有时返回的IP是IPv4,有时是IPv6。有没有办法只获取IPv4 IP?

fei*_*iii 6

在服务器上侦听时指定ipv4,请参阅doc

.listen(port, '0.0.0.0');
Run Code Online (Sandbox Code Playgroud)