gpt4 book ai didi

ios - 服务器端如何将来自同一手机的 2 个不同请求解释为具有 2 个不同的 IP?

转载 作者:行者123 更新时间:2023-11-29 03:06:54 25 4
gpt4 key购买 nike

我在 Node.js 上运行一个服务器,用于监听来自移动网站 (IOS) 的请求。我正在使用以下内容解释请求中的 IP:

ipAddress = function (req) {
var header = req.headers['x-forwarded-for']
if (header) {
var ips = header.split(/\s*,\s*/)
if (ips.length > 0) {
return ips[0]
}
}
return req.ip
}

我注意到有时我会针对来自同一手机的不同请求获得不同的 IP。但还没弄清楚为什么。

有什么想法可能导致这种情况吗?我做了一些研究,发现根据请求查找 IP 的最佳方法似乎是在 header 中使用 x-forwarded-for - 是这样吗?

最佳答案

猜测,因为它们是移动的。设备可以在小区之间移动,在蜂窝网络和 Wi-Fi 之间移动,或者遭受瞬时蜂窝网络断开和重新连接。这些事情中的任何一个都可能导致设备被分配一个新的 IP 地址。

此外,许多蜂窝网络提供商使用网络地址转换 (NAT) 和代理。可能是不同的请求通过提供商网络中的不同代理或 NAT 设备。

大多数代理服务器添加 x-forwarded-for header ,但这不是强制性的。 NAT 设备不会添加 header 。

关于ios - 服务器端如何将来自同一手机的 2 个不同请求解释为具有 2 个不同的 IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22671773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com