由于无效的连接头 [Keep-Alive] 导致握手失败

时间:2021-04-09 19:35:55

标签: websocket weblogic12c spring-websocket sslhandshakeexception

我有一个 websocket 项目,在 Weblogic 12c 和 Spring MVC 5.1.0.RELEASE 上开发

当我在本地 tomcat 上运行项目时,它工作正常,但是当尝试在 Weblogic 上部署时,它给出了以下错误。 (错误仅发生在安全域中,当我尝试使用 ip 访问 http 地址时,其工作正常。)

Apr 09, 2021 2:28:57 PM org.springframework.web.socket.server.support.AbstractHandshakeHandler handleInvalidConnectHeader
SEVERE: Handshake failed due to invalid Connection header [Keep-Alive]
<Apr 9, 2021 2:28:57 PM GMT+03:00> <Error> <org.springframework.web.socket.server.support.DefaultHandshakeHandler> <BEA-000000> <Handshake failed due to invalid Connection header [Keep-Alive]> 

我的标题;

 - Sec-WebSocket-Version : 13
 - Sec-WebSocket-Key : MoTfrW6Iim1noQgYHlkeYQ==
 - Upgrade : websocket
 - Cookie : jwt=eyJhbGciO....
 - Sec-WebSocket-Extensions : permessage-deflate; client_max_window_bits
 - Host : infotest.infotech.com.tr
 - ECID-Context : 1.005jsZwLhO_EoIWVLynJ8A0001Cy0000i2;kXjE
 - Connection : Keep-Alive
 - X-WebLogic-KeepAliveSecs : 30
 - X-WebLogic-Force-JVMID : -414283189
 - X-WebLogic-Request-ClusterInfo : true

我的实现类似于;

@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
   registry.addHandler(new EchoHandler(), "/echo").addInterceptors(customHandshakeInterceptor())
                .setAllowedOrigins("*");
}

测试;

wscat -c ws://localhost:8080/projectName/echo --no-color

有什么帮助吗?

0 个答案:

没有答案