springboot + websocket 前后端分离遇到的问题

本来前后端分离只有springboot去做做一个后台,因为一些需求,整合了一个 websocket 建立了个连接来处理部分请求,采用的处理方式是这样的:SpringBoot集成WebSocket - 仅此而已-远方 - 博客园
现在前端来配合我测试的时候是好使的,也就是我这边开启服务(用spingboot内置的tomcat),前端也开一个服务,前端访问我的后台,这个时候websocket成功接发信息。
但是当我部署到服务器上的时候,就会出 websocket 的 200 问题,我们是这样部署的:我将我的后台打包为war文件,部署到外置tomcat,再把前端的文件放到同一个外置tomcat上,前后端不同的webapps文件夹,然后修改 tomcat 的 server.xml 文件:部署两个service,一个端口分配给前端,一个端口分配给后端,项目正常启动,且其他功能都正常,只有 websocket 连接会报 200 的错误,应该能够确定不是权限问题,因为测试的时候是成功的,后端 websocket 应该也是开始监听了的,因为报的不是404,有没有大佬帮忙解决下?

自己顶一下

没读懂 :grimacing:,而且响应200不是异常。可能是你的ws路径和其他工程名称冲突了?导致路由到了其他http服务,而不是ws。

导到其他的工程里大概率会404吧?我感觉似乎是前端找到了后台的websocket,但就是建立连接的握手过程中哪里出问题了,然后报了个200,那个200的错误具体是这样的:WebSocket connection to ‘ws://192.168.31.96:8088/’ failed: Error during WebSocket handshake: Unexpected response code: 200

你看看后端日志,跟踪一下这个请求到了哪里。我怀疑就是没有走到握手处理,而是进入了Controller请求。

你再看看前端日志,看看这个请求的响应数据是什么,根据响应内容,可以判断是请求到了哪里。