我有一个 NodeJS
express
服务在 Centos
上运行并监听 GET 请求,我需要识别用户的 IP。
目前,我正在使用这个脚本
ip = req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress
问题是有时返回的 IP 是 IPv4,有时是 IPv6。有没有办法只获取 IPv4 IP?
最佳答案
更新
根据 Micheal 的评论,如果客户端通过 ipv6 连接,则不会有 ipv4 地址,因此您必须准备好接受 ipv6。
在服务器上监听时指定 ipv4 参见 doc
.listen(port, '0.0.0.0');
关于node.js - 通过 NodeJS express 仅获取 IPv4 ips,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50855419/