【发布时间】:2020-10-26 22:34:54
【问题描述】:
当我们使用 Tomcat 8.0 时,我们有一个 spring-websocket 应用程序可以正常工作。但是,当我们将 Tomcat 升级到 8.5 时,它停止了工作。当查看来自 F5 的网络跟踪时,F5 似乎从服务器接收到握手响应 (101),但该响应从未转发给客户端。因此,永远不会建立连接。
我们暂时恢复到 Tomcat 8.0 并且它可以工作,但在放回 Tomcat 8.5 时它又停止工作了。
如果我们在 F5 上禁用 ASM 策略,它也可以正常工作。但是我们无法将其作为解决方案,也无法恢复到 Tomcat 8.0。
查看 ASM 时,我们没有看到 ASM 阻止了任何内容。
当然,如果我们只是调用所需的服务器实例,而不是通过 F5 就可以正常工作。
我们的 F5 是第 12 版。升级它也不是一个真正可行的解决方案,除非我们真的别无选择。
我们使用 spring-websocket 版本 4.3.18.RELEASE。但是,在编写另一个虚拟 websocket 服务器进行测试时,我使用了当前的 Spring 版本,没有任何改变。
我们的应用程序是 Java 8。
有人知道发生了什么吗?
提前致谢! :)
【问题讨论】:
-
您是在检查 ASM 中的响应流量还是仅检查请求?您可以在警报模式下激活响应以查看触发了什么。在不更改 ASM 的情况下检查的另一种方法是使用 f5 标志进行数据包捕获,如果从 F5 -> 服务器发生 tcp 重置,原因应该在跟踪文件中。
-
嗨杰森!我真的不习惯 ASM。我会与我们的团队核实。谢谢:)
-
嗨杰森!显然一切都应该被正确记录,但 ASM 中没有出现任何错误。最近我们做了一些测试,并设法让它在我们的预生产环境中与 Tomcat 8.0 一起工作。但是,在测试环境中重做测试时,Tomcat版本并没有做任何改变。
标签: java tomcat spring-websocket f5 tomcat8.5