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的通信路径加入白名单即可。

相关推荐
国冶机电安装12 分钟前
电气安全保护装置:从设计选型到安装验收的全流程解析
服务器·网络·安全
阿捏利29 分钟前
详解网络协议(二)OSI七层参考模型
网络·网络协议
松☆37 分钟前
C++ 控制台通讯录管理系统 —— 从零实现到完整解析(附可运行代码)
开发语言·网络·c++
liulilittle42 分钟前
eBPF 中的 `__sk_buff`
网络
2301_794799511 小时前
35_简单快捷不可靠的_UDP ## 网络协议那些事儿
网络·网络协议·udp
左手厨刀右手茼蒿1 小时前
Flutter for OpenHarmony:Flutter 三方库 udp — 实现极速底层异步通信(适配鸿蒙 HarmonyOS Next ohos)
网络·网络协议·flutter·华为·udp·harmonyos
秋刀鱼不做梦1 小时前
网络编程和Socket套接字(UDP+TCP)(如果想知道Java中有关网络编程和Socket套接字的知识,那么只看这一篇就足够了!)
网络·网络协议·学习·tcp/ip·udp
liulilittle1 小时前
TC Hairpin NAT 驱动使用手册(个人版)
服务器·开发语言·网络·c++·网络协议·tcp/ip·tc
Alonse_沃虎电子1 小时前
沃虎工业级RJ45抗震动方案:破解严苛环境下的网络连接难题
网络·产品·电子元器件·电子元器件供应商·网络变压器
Bin努力加餐饭1 小时前
C++(3)TCP
网络·网络协议·tcp/ip