Desktop Safari websockets 在连接时挂起。所有其他人(包括 iOS)工作

Desktop Safari websockets hangs on connection. All others (including iOS) work

我的 websocket 连接有效:

它不起作用:

浏览器中没有控制台错误。我可以看到 websocket 已创建,但它从不在 Desktop Safari 上触发“打开”事件。在服务器端,除了 Desktop Safari 以外的任何地方都可以正常连接,我在那里看不到任何东西。

websocket 与来源域完全相同,并且都使用安全连接 (https/wss)

生产中有很多活动部件(例如负载平衡器)。我查看并配置了生产中每一层的“粘性”和 TLS 版本等内容。

同样,它适用于大多数地方。

我认为一定是 TLS、CORS 等原因导致了故障,但我还没有完全理解。

这是在 iOS 上发生的情况(在 Chrome 桌面等方面大致相同):

这是在 Mac 上的 Desktop Safari 中发生的情况:

嗯。经过几个小时的旋转,我解决了它:

AWS Load Balancer 属性中有一个名为“客户端端口保留”的设置。一旦我检查了这个,websockets 开始从 Desktop Safari 流动: