2017-03-07 4 views
0

timesout応答接続を働いていないサーブ:nodejsは私server.jsでこれを持って

var app = require('express')(); 
var http = require('http'); 
http.createServer(function(request, response) { 
     response.writeHead(200, {"Content-Type": "text/plain"}); 
     response.write("It's alive!"); 
     response.end(); 
}).listen(3000); 

これは、私はそれを展開し、クライアント側で私のshared.domain.ma:3000 へのアクセスをしようとすると、私が持っている地元で正常に動作しなくそのアドレスで私のサーバーに接続しようとしているWebSocketが私にnet::ERR_CONNECTION_TIMED_OUT annを与えましたcurlを試してみましたが、結果は同じです - この問題の原因は何ですか?

+1

は、ケース80にポートを変更しようとファイアウォールがあります。それが使用されていないことを確認してください。 –

+0

はい私はちょうどその気のあるファイアウォールをチェックしました..私は使用できません80または8080のcuzを使用しています!このサブドメインのために3000から80をどのように転送することができますか – brahimm

+0

Linuxサーバを使用している場合は、この要点に従ってくださいhttps://gist.github.com/kentbrew/776580 –

答えて

0

あなたは非常に少ないの情報を提供しますが、あなたのコメントのいくつかの後に、それはより明確である:

はい、私はちょうど彼らが出回っ使用されているのcuz ..私は80または8080を使用するカントその気にファイアウォールを確認!このサブドメインだけで3000から80を転送するにはどうすればいいですか?

私は80から3000を転送したいと思います。

リバースプロキシとして使用するサーバーを指定していません。それはnginxのであるなら、あなたはこのようなものを使用することができます。

server { 
    listen 80; 
    server_name www.example.com; 
    location/{ 
     proxy_pass http://localhost:3000; 
    } 
} 

は、より多くの詳細については、この回答を参照してください:もちろん

あなただけの、Apacheで同じことを行うことができます別の設定で。リバースプロキシ設定を検索します。

+0

私はcentos 7でapache2を実行しています。 – brahimm

0

コメントに記載されているとおり、ファイアウォールで保護されています。 nginxの場合は、他の答えを確認してください。 Apacheの は、以下の構成を使用し、a2enmod proxyを忘れないでください:

#/etc/httpd/conf.d/node.conf 
 
<VirtualHost *:80> 
 
    ServerAdmin [email protected] 
 
    ServerName mydomain 
 
    ServerAlias www.mydomain.com 
 
      
 
    ProxyRequests Off 
 
    ProxyPreserveHost On 
 
    ProxyVia Full 
 
    <Proxy *> 
 
     Require all granted 
 
    </Proxy> 
 
    
 
    <Location /> 
 
     ProxyPass http://127.0.0.1:3000 
 
     ProxyPassReverse http://127.0.0.1:3000 
 
    </Location>

関連する問題