2017-03-20 136 views
0

我遇到了連接套接字的問題。Spring + WebSocket錯誤400

這是我在瀏覽器上的錯誤。 socket error

這是我的春天插槽配置

@EnableWebSocketMessageBroker 
public class ChatSocketConfig extends AbstractWebSocketMessageBrokerConfigurer { 

    @Override 
    public void configureMessageBroker(MessageBrokerRegistry config) { 
     config.enableSimpleBroker("/queue", "/topic"); 
     config.setApplicationDestinationPrefixes("/chat"); 
    } 

    /** 
    * Register the endpoint where the socket will call to connect 
    */ 
    @Override 
    public void registerStompEndpoints(StompEndpointRegistry registry) { 
     registry.addEndpoint("/chat-connect").setAllowedOrigins("*").withSockJS(); 
    } 

我使用sockjs客戶端V1.0.3,運行在AWS上一個tomcat 8,Linux的EC2的Java應用程序。

如何解決這個問題的任何幫助?

EDITED

在服務器上,我看到的唯一的日誌是「握手失敗,原因是無效的升級頭:空」

回答

0

檢查Apache的httpd.conf,以確保您的重定向不會導致問題。

你應該有類似以下內容:

RewriteEngine On 
RewriteCond %{HTTP:Upgrade} =websocket [NC] 
RewriteRule /(.*)   ws://localhost:8080/$1 [P,L] 
RewriteCond %{HTTP:Upgrade} !=websocket [NC]