当前位置: 首页 > 知识库问答 >
问题:

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

白淇
2023-03-14

我的websocket连接工作:

  • 在桌面 Chrome、桌面 Safari 和 iOS 上的本地主机上进行测试时
  • 在桌面版 Chrome 和 iOS 上测试生产环境时。

它不工作:

  • 在桌面Safari上进行生产测试时

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

websocket位于作为源的确切域上,并且两者都使用安全连接(https/wss)

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

同样,它在大多数地方都有效。

我在想,一定有TLS、CORS等我没有完全理解的东西导致了故障。

这是在iOS上发生的情况(在Chrome桌面等中也是如此):

以下是 Mac 上的 Desktop Safari 中发生的情况:

共有1个答案

梁丘俊人
2023-03-14

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

AWS负载平衡器属性中有一个名为“客户端端口保留”的设置。一旦我检查了这一点,websockets开始从桌面Safari中流出:

 类似资料:
  • 问题内容: 在我的应用程序中,Spring管理用于数据库访问的连接池。Hibernate将这些连接用于其查询。乍一看,我对池没有任何问题:它可以与并发客户端和只有一个连接的池一起正常使用。我可以执行很多查询,所以我认为我(或Spring)不会留下开放的连接。 一段时间不活动后(有时30分钟,有时超过2小时),我的问题出现了。然后,当Hibernate进行搜索时,它会持续很长时间。将log4j级别设

  • 注意:我工作了很多时间并研究了google和stackoverflow,但我找不到答案。 我用线。sleep(),它冻结了所有其他JDialog、JFrame和线程。 我的示例代码: 在这种情况下,JDialog无法正确显示: inccorect出现jdialog 但它必须符合这一点: true出现jdialog 我怎样才能解决这个问题。我想让主线程等待另一个线程。有人可以纠正我的示例代码,或者在

  • 因为BouncyCastle jar是经过签名的,在maven assembly plugin中使用带有依赖项的jar将破坏这些签名,我想知道是否有可能创建这种输出: 我的代码和每个依赖项都在一个胖罐子中,但不包括BC罐子 库/子文件夹中的BC jar 我设法排除BC jar在我的脂肪罐使用一个程序集文件看起来像: 现在,我如何告诉maven assembly插件将BC jar作为独立jar放在l

  • 我试图在我的Eclipse CDT工作区中包含并构建来自另一个项目的源文件,用于Autotools项目。我已经尝试了https://stackoverflow.com/A/20792721/4128201中给出的步骤来链接源(.cpp)和头(.h)文件,以及https://stackoverflow.com/A/2305737/4128201中给出的步骤来通过设置makefile.am来构建引用项

  • 我对CloseableHttpClient管理的连接有问题。Spring服务管理纽约连接: 当执行不成功时,我的setPayment方法最多调用3次。有时在第一次执行后,我的方法挂起而没有响应。欢迎任何建议。

  • 即将用Maven TestNG Selenium实现一个测试框架。 如何声明告诉TestNG运行所有测试的suite.xml?我尝试了所有这些都无济于事: 我需要用不同的参数指定不同的套件配置,但都运行所有测试。我能找到的每一个例子都清楚地列出了对我来说意义不到零的每个类或包。