解決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