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

相关推荐
武帝为此27 分钟前
【Java网络编程详解】
java·开发语言·网络
秦jh_1 小时前
【Linux网络】网络套接字socket
linux·运维·服务器·网络
LUCIAZZZ3 小时前
说一下分布式组件时钟一致性的解决方案
java·网络·分布式·计算机网络·操作系统·springboot·系统设计
hgdlip3 小时前
抖音直播位置与IP属地不同?解析原因与应对策略
网络·网络协议·tcp/ip
KnowSafe3 小时前
SSL报错ERR_SSL_PROTOCOL_ERROR怎么办?
网络·网络协议·ssl
半新半旧4 小时前
keepalived高可用介绍
linux·服务器·网络
Aa美少女战士4 小时前
多域名 SSL 证书能保护多少个域名?
网络协议·http·https
开开心心就好4 小时前
手机不同App音量自动调节软件
网络·windows·python·安全·智能手机·电脑·音视频
GalaxyPokemon5 小时前
MySQL基础 [二] - 数据库基础
linux·网络·数据库·mysql
计算机鬼才~5 小时前
网络安全·第一天·IP协议安全分析
网络协议·安全·网络安全