websocket 配置wss 后 Error during WebSocket handshake: Unexpected response code: 200

后端服务配置了https,前端websocket 配置wss 报错Error during WebSocket handshake: Unexpected response code: 200

该回答引用ChatGPT
这个错误通常表示在尝试建立 WebSocket 连接时,服务端返回了不正确的 HTTP 响应码。在此情况下,它返回了状态码 200,这通常意味着 WebSocket 服务器没有正确地识别和处理来自客户端的 WebSocket 握手请求。

这可能是由于您在将 WebSocket 连接从 http 升级到 wss 时出现了一些配置问题。请确保您在 WebSocket 请求中正确指定了 wss 协议,并且证书和密钥配置正确,确保在服务端支持 SSL/TLS。

还有可能是您的负载均衡器、反向代理或防火墙未正确配置,以允许通过 wss 协议建立 WebSocket 连接。请确保您的负载均衡器、反向代理或防火墙配置正确,以允许通过 wss 协议建立 WebSocket 连接

正常来说,建立websocket连接的响应码应该是 101 ,而你这里返回的响应码是200。
那么有可能,后端未正确识别请求为websocket协议,或者前端请求的websocket地址是错的,再或者后端报错了。

错误代码 200 表示成功响应,因此此错误消息不是由响应代码引起的。可能的原因是:

后端服务没有正确配置 WebSocket 服务,导致握手失败。

后端服务没有正确配置 CORS(跨源资源共享),导致浏览器无法加载 WebSocket。

你可以检查以下事项:

确保你的 WebSocket 服务已正确配置。

确保你的 WebSocket 服务已正确配置 CORS,允许来自前端服务的跨域请求。

确保你的证书链已正确配置,特别是中间证书。

检查是否有防火墙或代理等设备阻止了 WebSocket 连接。

确保你的前端代码已正确配置了 wss,比如使用正确的端口和路径。

如果你还无法解决问题,你可以查看浏览器的开发者工具,以获得更多的错误信息。