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


原因:

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

 

感谢阅读!

相互陪伴,共同成长。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM