我们有一个spring-websocket应用程序,当我们使用Tomcat8.0时,它工作得很好。然而,当我们将Tomcat升级到8.5时,它停止了工作。在查看来自F5的网络跟踪时,F5似乎从服务器接收到握手响应(101),但该响应从未转发到客户端。因此,永远不会建立连接。
我们暂时恢复到Tomcat 8.0,它工作了,当重新放回Tomcat 8.5时,它再次停止工作。
如果我们在F5上禁用ASM策略,它也可以正常工作。然而,我们不能将其作为解决方案,我们也不能恢复到Tomcat8.0。
在查看ASM时,我们没有看到任何被ASM阻止的内容。
当然,如果我们只是调用所需的服务器实例,而不是通过F5,它就可以正常工作。
我们的F5是版本12。升级它也不是一个可能的解决方案,除非我们真的别无选择。
我们使用的是spring-websocket版本4.3.18.RELEASE。然而,当我编写另一个虚拟的websocket服务器进行测试时,我使用了当前的Spring版本,没有任何变化。
我们的应用程序是Java 8。
有谁知道发生了什么事吗?
提前感谢!:)
发布于 2020-08-03 20:03:33
这个问题与Tomcat8.5没有返回我们的F5版本出于某种原因需要它的原因短语dans有关。通过修改Tomcat连接器添加sendReasonPhrase="true“,它修复了这个问题。
https://stackoverflow.com/questions/62762213
复制相似问题