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

时间:2024-01-30 16:19:03

原因:

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();
    }
}

 

感谢阅读!

相互陪伴,共同成长。