在 NodeJS 中跟踪 IP 地址,接收两个数字

Posted

技术标签:

【中文标题】在 NodeJS 中跟踪 IP 地址,接收两个数字【英文标题】:Tracking IP Address in NodeJS, Receiving Two Numbers 【发布时间】:2020-09-26 00:32:40 【问题描述】:

我正在跟踪向特定端点发出请求的用户 IP 地址。

这就是我跟踪 IP 地址的方式:

const ipAddress = req.headers['x-forwarded-for'] || 
    req.connection.remoteAddress || 
    req.socket.remoteAddress ||
    (req.connection.socket ? req.connection.socket.remoteAddress : null)

记录结果时,我得到一个带有两个数字的字符串。

例如:XX.XX.XX.117, XXX.XX.XX.234

这两个数字分别是多少?

【问题讨论】:

【参考方案1】:

如果请求从代理服务器转发到您的端点,那么您将从req.headers['x-forwarded-for'] 获得多个 IP 地址。第一个将是客户端 IP,以下 IP 地址将依次是代理的 IP。在您的情况下,客户端和您的服务器之间只有一个代理,因此您只看到两个 IP。总之,第一个是客户端IP,第二个是代理IP。

更多参考X-Forwarded-For

【讨论】:

以上是关于在 NodeJS 中跟踪 IP 地址,接收两个数字的主要内容,如果未能解决你的问题,请参考以下文章

CloudFlare 并通过 PHP 记录访问者 IP 地址

新装的WIN7系统,网络连接显示的是未识别的网络,数据包发送有数字,接收是0,请问如何解决....

有啥方法可以在nodejs中获取用户请求的内部IP地址

如何检查IP地址在PHP的两个IP范围内?

在Nodejs中获取Web访问者IP地址[重复]

TCP/IP详解 笔记九