2017-05-27 16 views
2

Amazon EC2インスタンス上でポート8080のWebアプリケーションを実行しています。起動中にwebappがポート9092で待機するソケットioサーバーを起動します。Amazon EC2インスタンスでソケット入出力要求を許可するにはどうすればよいですか?

ソケットioサーバーに接続しています。 socket.io requests blockedを示すように

io.connect('http://<IPADDRESS>:9092'); 

残念ながら、この要求がブロックされてきている。示すように

私は問題が私のEC2インスタンスのインバウンドルールについてだと思った、従って私は目的のためにトラフィックを許可: Ec2 instance inbound rules

しかし、要求がまだブロックされている...

注:私のアプリがローカルでホストされている場合、すべてが正常に動作します。

なぜ、アマゾンはこのように動作していますか、この問題を遭遇するためには何をすべきですか?

UPDATE:インスタンス上の

netstat -a -n | grep 9092、これを出力:

netstat output on port 9092

また、Firefoxが要求試行タイミングについて私に示して何の表情を持っている:

socketio request timings

+0

「Amazon」は「このように動作しません」。彼らは物事を塞ぐ隠されたルールを持っていません。あなたが間違って設定したものがありますが、問題を説明するのに十分な情報がここにはありません。接続が「ブロックされている」と言うと、ここに表示されている以上に多くのことを言っています。それは成功していませんが、確かにそれが「ブロックされている」と言っている理由は何ですか? 'netstat -a -n |とは何ですか? grep 9092' show、インスタンス? –

+0

コメントのための@ Michael-sqlbotに感謝します。私は私の質問を更新しました。それを見ていただきありがとうございます。 –

+0

あなたの 'socket.io'サーバはローカルインタフェースにバインドされているようですが、外部インタフェースには届きません。 'socket.io'サーバを設定するコードを共有できますか? – robertklep

答えて

2

それはターンあたかもローカルホストからアクセスされたかのように、自分のサーバーをlocalhostアドレスにバインドしていたことになります。

@robertklepのコメントのおかげで、私はec2インスタンスのアドレスにサーバーをバインドしました。現在は動作しています。

+0

私は2つのEC2インスタンス間で通信しようとしていて、 "ゲートウェイタイムアウトエラー" – RRP

関連する問題