13

websocket を介したリアルタイム通知システム用の大気フレームワークを実行している netty サーバーがあります。

システムはローカル マシンでは完全に動作しますが、EC2 にデプロイすると、動作しないようです。ただし、リモートの Netty サーバーに telnet で接続できます。サーバーはアクセス可能で、ポートは EC2 で開いています

Firefox は次のエラーをスローします

Using URL: ws://beta.myapp.com:2880/myhandle?id=1&name=Chinese_food_rule_2&    X-Atmosphere-tracking-id=35490c47-59d6-abf6-36fa-431aa340d90a&X-Atmosphere-Framework=0.9&X-Atmosphere-Transport=websocket&X-Cache-Date=0&Content-Type=application/json

Websocket error, reason: undefined

Firefox can't establish a connection to the server at ws://beta.myapp.com:2880/myhandle?id=1&name=Chinese_food_rule_2&X-Atmosphere-tracking-id=35490c47-59d6-abf6-36fa-431aa340d90a&X-Atmosphere-Framework=0.9&X-Atmosphere-Transport=websocket&X-Cache-Date=0&Content-Type=application/json.

Websocket closed, reason: Connection was closed abnormally (that is, with no close frame being sent).

サーバーはリクエストさえも受け取らないため、これは私が気付いていない EC2 Web ソケットの問題だと思います。

4

5 に答える 5

9

これと同じ問題がphpで発生しました。private ip解決策は、EC2 のアドレスを使用して websocket を作成することです。EC2パブリックIPアドレスまたはURLを使用してそのWebソケットをWebソケットポートに接続します

EC2 Web ソケットから応答を取得します。

于 2014-12-18T07:33:23.507 に答える
8

ELBを使用していますか?はいの場合、Websockets は HTTP レイヤーでサポートされていないため、HTTP ではなく TPC に切り替える必要があります。TCP の実行時に固定性とクライアント IP を取得する可能性が失われますが、Websocket は最後まで機能します。=)

EC2/ELB/Websockets の詳細:
http://johan.firebase.co/post/31047804966/the-state-of-websockets-ssl-and-sticky-sessions-in
http://johan.heapsource.com/ post/31047804966/the-state-of-websockets-ssl-and-sticky-sessions-in https://web.archive.org/web/20160328183724/http://johan.heapsource.com/post/31047804966/the -state-of-websockets-ssl-and-sticky-sessions

于 2012-10-15T07:38:34.797 に答える
0

WebSocket は http と同じポートを使用しています。

ただし、4.0 より前のバージョンの Netty サーバーは、新しいバージョンの WebSocket をサポートしていません。

http://netty.io/news/2011/11/17/websockets.html

どのバージョンを使用していますか?

于 2013-07-22T04:54:43.257 に答える
-1

nc(コマンドラインlinux / OSX)を使用すると、ポートが稼働しているかどうかを簡単に確認できます。

nc -z www.google.com 80

そうでない場合は、セキュリティグループを確認してください。EC2にログインします:

[ネットワークとセキュリティ]の下に残されています:[セキュリティグループ]->[デフォルトを開く]->[受信]を選択します。そこで、新しいルールを作成できます。

于 2012-08-21T08:15:31.667 に答える