2016-03-22 22 views
0

私はaws上でApacheとUbuntuサーバーを実行しています。ファイルにホスト名を追加するとnode.jsファイルが機能しなくなるのはなぜですか?

以下の両方のファイルが実行されますが、サーバーにアクセスするとトップの人だけがHelloworldを返します。何故ですか?

var http = require('http'); 

var port = 3000; 

var server = http.createServer(function(req, res) { 
    console.log(req.headers); 

    res.writeHead(200, { 'Content-Type': 'text/html' }); 
    res.end('<h1>Hello World</h1>'); 
}); 

server.listen(port); 

ボトムファイルが実行されますが、サーバーに接続するとエラーが発生します。 hostnameをサーバのipに置き換えようとしましたが、私も127.0.0.1というホスト名を作成しようとしましたが、どちらも動作しませんでした。私が得るエラーは

"This site can't be reached, <ip> refused to connect, ERR_CONNECTION_REFUSED" 

はサーバーのIPです。

var http = require('http'); 

var hostname = 'localhost'; 
var port = 3000; 

var server = http.createServer(function(req, res) { 
    console.log(req.headers); 

    res.writeHead(200, { 'Content-Type': 'text/html' }); 
    res.end('<h1>Hello World</h1>'); 
}); 

server.listen(port, hostname); 

乾杯

+0

'hostname'引数を含めることで解決しようとしている問題はありますか?そのまま放置すると、サーバーは指定されたポート上のこのサーバーへの着信要求に応答します。明らかに、 'localhost'や' 127.0.0.1'を使っているのであれば、同じボックスの接続だけがそれにマッチする可能性があります。 – jfriend00

+0

私はホスト名のおかげでそれを動かすことができました。私がそれを持っていたのは、チュートリアルにオンラインで従っていて、彼のローカルマシンから作業していたからです。最初は私はホスト名を省略していましたが、エラーに遭遇しましたので追加/削除を試みました。まだ仕事をしたくないので、私はそれを削除したときに私は間違いを犯していたと思います。私が追加したのは、stackOverflowのどこか他の場所を読み込んで追加する必要があったからです。私は明らかに誤解していた。コメントをいただき、ありがとうございました。 –

答えて

3

あなたがローカルホスト上で待機している場合は、外部から同じマシン/サーバーではなくからのリクエストを行う必要があります。

+0

同じマシンからどのようにリクエストすることができますか?私はパテを通してawsに接続しています。パテの別のウィンドウを開き、 "curl "と入力すると動作しません。 localhostパラメータを削除しても、うまくいくはずです。 –

+0

おそらくAmazonがインスタンスのインタフェースに直接IPを割り当てるとは思わないので、同じシステム上でローカルにリクエストを行うときには 'localhost'を使用する必要があります。 – mscdex

関連する問題