解决webSocke客户端连接服务端返回400错误

时间:2023-07-09 08:41:56

原因:

nginx使用了转发,头信息没设置全,问题出现在nginx的配置文件

解决办法:

修改nginx.conf配置文件,在linux终端敲入vim /etc/nginx/nginx.conf,找到location这个位置,配置文件如下所示:

location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

配置完成之后,重启nginx就可以了!

顺便说一下webSocket跨域问题解决:

设置AllowedOrigins:*

@Configuration
@EnableWebSocket//启动websocket
public class WebSocketConfig implements WebSocketConfigurer { @Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry webSocketHandlerRegistry) {
webSocketHandlerRegistry.addHandler(getWebSocketHandler(),"/websocket/*").setAllowedOrigins("*").addInterceptors(new ChatIntercepter());
}
@Bean
public TextMessageHandler getWebSocketHandler(){
return new TextMessageHandler();
}
}

感谢阅读!

相互陪伴,共同成长。