websocket client无法连接到websocket server 的问题

1. 问题描述

生产环境的websocket client和server无法通信

2. 日志现象

通过查看日志和问题复现,定位到是client连接到server失败,导致无法通信。

出现问题的代码

出现问题的日志

21:25:27.790 [main] INFO websocket.MyWebSocketClient - start to connect... 21:25:30.943 [pool-1-thread-1] INFO websocket.MyWebSocketClient - The HTTP response from the server [200] did not permit the HTTP upgrade to WebSocket 21:26:00.823 [pool-1-thread-1] INFO websocket.MyWebSocketClient - The HTTP response from the server [200] did not permit the HTTP upgrade to WebSocket

该日志是catch异常后打印出来的。

3.分析过程

通过上面的代码我日志,知道是连接失败,但是从日志来看,以为是成功连接了,只是http和websocket的版本差异导致的,一直在分析。知直到费了大量的时间排查对比代码,才发现是服务端的SpringSecurity拦截了,导致客户端无法连接。

4. 修改方案

只需要将websocket的通信路径加入白名单即可。

相关推荐
roshy1 分钟前
SSE与Websocket、Http的关系
websocket·网络协议·http
2301_8035545216 分钟前
实习项目包装--HTTP 协议和 Web API
前端·网络协议·http
华强笔记24 分钟前
KGDB(Kernel GNU Debugger)工具使用方法详解
网络·安全·gnu
自强的小白24 分钟前
vlan(局部虚拟网)
网络·学习
徐子元竟然被占了!!40 分钟前
RIP协议
网络·网络协议
Yuki’1 小时前
网络编程---TCP
服务器·网络·tcp/ip
云飞云共享云桌面1 小时前
工厂办公环境如何实现一台服务器多人共享办公
运维·服务器·网络·数据库·3d
带娃的IT创业者1 小时前
如何开发一个教育性质的多线程密码猜测演示器
网络·python·算法
zr5268554471 小时前
ModbusTCP 转 Profinet 主站网关
运维·服务器·网络
大筒木老辈子1 小时前
Linux笔记---协议定制与序列化/反序列化
网络·笔记