2011-11-14 6 views
0

Amazon EC2 Windowsインスタンスにnode.jsをデプロイしました。ここで私は実行jsのコードは次のとおりです。Windows上のnode.jsが外部IPへの要求を処理していない

require('http').createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(80); 

私は外部IPを介してサーバーにアクセスしようとしているとき、私はhttp://localhost にアクセスしていたときにそれは完璧に動作します。しかし、それは動作しませんします。http:// [外部IP]

私はこのライン見ることができる "-ano netstatコマンド" を実行します。私は、IISを実行した場合、それは二行

0.0.0.0:80 
[::]:80 
0123を追加し

0.0.0.0:80 

[::]はどういう意味ですか?なぜnode.jsを実行すると追加されないのですか?私は、それがnode.jsが外部IPへの要求を提供していない理由だと思います。 Windows上でnode.jsを動作させるにはどうすればよいですか?

+3

IISラインはIPv6用です。試してみてください(80、 '::')。しかしおそらく、あなたのファイアウォールが十分に許可されていないだけかもしれません。 – thejh

+0

ありがとうthejh!あなたはその質問に答えました。 node.exeはWindowsファイアウォールによってブロックされました。 –

答えて

1

(答えとして再掲載のコメント)あなたは、ファイアウォールを再設定する必要がある場合があります

は、それはおそらくあまりにも厳格に構成されています。

+0

あなたが設定する必要があることに言及してください。私はEC2のノードアプリケーションも設定しました。しかし、httpリクエストには応答しません。ファイアウォールを確認し、ポート80を開き、インスタンスのセキュリティグループをチェックしました。何も動作していないようです...あなたが何をしたのかを言いなさい。 – user644745

+0

@ user644745サーバーを起動する場所にコードの断片を投稿できますか? – thejh

+0

最後に問題が見つかりました。 私はlog4jsを導入し、これをexpressと統合しました。 app.use(log4js.connectLogger(logger、{level:log4js.levels.ERROR})); これにより問題が発生しました。何とかこれは失敗していた。 DEBUGのみで動作するように見えます。これをコメントした後、それは働き始めた。奇妙な!! – user644745

関連する問題