2016-07-01 38 views
0

私のアプリケーションは、STOMPでSpring WebSocketを使用するSpringブートアプリケーションです。すべての設定は私のローカルでうまく動作しています。しかし、クラウドで次のようなエラーが発生する。WebSocketハンドシェイクが失敗しました

サーバーエラー: -

ERROR oswsssDefaultHandshakeHandler - ハンドシェイクが原因 への不正なアップグレードヘッダーに失敗しました:

- : - ブラウザで:ヌル

クライアントエラーを

WebSocket接続先 'WSS://.example.com/ws/313/7pq61a2c/websocketは、' 失敗しました:のWebSocketハンドシェイク中 エラー:予期しない応答コード:400

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-websocket</artifactId> 
    </dependency> 
<dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-messaging</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-websocket</artifactId> 
     </dependency> 

私はELBとAWSクラウドで展開しました。私のインスタンスは、ELBで有効になっているHTTPを使用してHTTP上で実行されています。私は自分のドメインにAWSルート53を使用しています。私は53

HTTPS証明書のルートでロードバランサURLを「」レコードを追加した

は、.example.comと*のためです。 HTTP - - 80 - - HTTP - 80

HTTPS - 443

がELBは、以下の、

HTTPを使用して構成されている80

私はグーグルでやったとことがわかりました私はアイドルタイムアウトを増やす必要があります。ユーザーはセッションを8時間開いたままにすることができます。 これを8時間設定する必要がありますか? ELBで他の設定を行う必要がありますか?

HTTPでEC2インスタンスを実行しても、X-Forward_Protoヘッダーに基づいてユーザーをHTTPSにリダイレクトするフィルタがあります。デバッグログログで

は、私はそれが理由だろ

http://example.com:80/ws/313/7pq61a2c/websocketを参照してください?

httpsではなくhttpsを試すようにwebsocketを設定するにはどうすればよいですか?

おかげ

答えて

関連する問題