2013-01-12 11 views
5

localhostでうまく動作するNode.JSサーバーがあります。今私はそれが私のマシンでホストされているインターネットからアクセスできるようにしたい。私のパブリックIPアドレス「アクセス」ではないようです(Google tells me I have 1):インターネット上にNode.JSサーバーを公開する

https.createServer({ 
    key: privateKey, 
    cert: certificate 
}, server).listen(80, '86.151.23.17'); 

は、次のNode.jsのエラーで失敗します。

Error: listen EADDRNOTAVAIL 
    at errnoException (net.js:770:11) 
    at Server._listen2 (net.js:893:19) 
    at listen (net.js:937:10) 
    at Server.listen (net.js:994:9) 
    at dns.js:71:18 
    at process.startup.processNextTick.process._tickCallback (node.js:244:9) 

は、どのように私は私のNode.jsを公開することができますサーバーを私のパブリックIPアドレスに変換しますか?

[注:別のウェブサーバーを実行していません。また、hereのようにさまざまなポートを試してみました。]

答えて

4

ルータの背後にある可能性が高いので、パブリックIPはルータ自体のどこにでもありません。あなたがする必要があるのはあなたのプライベートIP(通常192.168。*の範囲内)でリッスンし、ルーターにポートを設定することです。

Linuxを使用している場合は、80よりも大きいポート> 1024を使用して、rootとしてノードを実行する必要はありません。ポート転送を設定するときは、ノード・サーバーが稼働しているポートにポート80を単に転送することができます。

+1

にIPアドレスであなたのアプリを見ることができるようにあなたは、ルータが私のマシン(IMAC)または私のブロードバンド無線LANボックスで焼かれていると思いますか? – Randomblue

+2

あなたの「WiFiボックス」です。 – ThiefMaster

+0

治療のように働いた。本当にありがとう。 – Randomblue

関連する問題