【发布时间】:2018-11-24 02:37:25
【问题描述】:
我有一个NodeJSexpress 服务在Centos 上运行并监听GET 请求,我需要识别用户的IP。
目前,我正在使用这个脚本
ip = req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress
问题是有时返回的 IP 是 IPv4,有时是 IPv6。有没有办法只获取 IPv4 IP?
【问题讨论】:
-
如果用户通过 IPv6 连接,则根本不会有 IPv4 地址。您的代码必须能够处理 IPv6 地址。
-
这是一个非常有用的评论,我使用了@feiiiii的解决方案,但仍然看到一些ipv6形式的用户ip。
标签: node.js express centos ipv6 ipv4