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

Tracking IP Address in NodeJS, Receiving Two Numbers

我正在跟踪向特定端点发出请求的用户 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

这两个数字分别是多少?

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

有关X-Forwarded-For

的更多参考