我们的少数用户无法通过移动连接访问我们的网站,但可以通过 WiFi 访问。
它似乎只影响 Android,无论浏览器类型如何,并且同一个客户可以通过不同的 Android 访问该网站。它只在移动连接上有效,但在同一设备上使用 WiFi 时有效。这不仅仅是信号不好的问题。
错误是:“无法访问此站点...意外关闭了连接。ERR_CONNECTION_CLOSED”
我们正在使用 HSTS,ssllabs ssltest 给我们 A+。它由 nginx 提供服务。
有什么建议可能导致这种情况吗?我们很困惑。谢谢!
答案1
最可能的解释是移动运营商的网络出现了问题。
您首先需要通过不同的移动运营商进行测试,看看是否能够在多个运营商上重现该问题。我猜如果您尝试过几个不同的运营商,您也会找到一个可以解决问题的运营商。
您还应该在问题最常出现的运营商上尝试这两种操作系统,以验证在同一网络上使用这两种操作系统时是否存在差异。
如果发现只有一个运营商(或几个)受到影响,并且只有一个操作系统可以重现该问题,那么下一步就是找出每个操作系统生成的数据包之间有什么区别。
第一个实验是比较您的应用程序使用每个操作系统生成的流量,这两个操作系统都连接到您自己控制的 WiFi 接入点。这样您就可以捕获数据包并进行比较。
理论上,产生的流量差异可能只在蜂窝网络上出现,而不会在 WiFi 上出现。如果是这种情况,请尝试找到没有问题的运营商,并在尝试从每个操作系统进行连接时检查服务器端的流量。
我还建议您验证当一部手机连接到蜂窝网络并充当热点,而第二部手机使用 WiFi 连接到第一部手机时,问题是否仍然存在。验证充当热点和客户端的手机上操作系统的所有四种可能组合。
另一件需要注意的事情是网站上的 IPv6 支持。一些移动运营商现在使用纯 IPv6 网络,如果您的网站尚不支持 IPv6,客户端可能会依赖 NAT64,而您不能指望它像直接端到端连接那样可靠。
如果您的网站尚不支持 IPv6,您应该测试启用 IPv6 支持是否会改善这种情况。