2013-01-12 13 views
5

localhost numaralı telefondan düzgün çalışan bir Node.JS sunucum var. Şimdi, makinem tarafından barındırılan, internetten erişilebilir olmasını istiyorum. Benim genel IP adresi "erişilebilir" olması gibi görünmüyor (Google tells me I have bir):Internet üzerinde Node.JS sunucusunu yayınlayın

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

aşağıdaki node.js hatayla başarısız:

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) 

nasıl node.js yayınlayabilir sunucu benim genel IP adresime

[Not: Çalışmakta olan başka bir web sunucum yok. Ayrıca, here önerildiği gibi çeşitli farklı bağlantı noktalarını denedim.

cevap

4

Büyük olasılıkla bir yönlendiricinin arkasındasınız, böylece genel IP'niz herhangi bir yerde değil yönlendiricinin kendisinde kullanılabilir. Yapmanız gereken şey, özel IP'nizi dinlemektir (genellikle 192.168. * Aralığında) ve yönlendiricinizde bir bağlantı noktası kurar.

Linux'ta olmanız durumunda, 80 yerine port> 1024 kullanmak isteyeceksiniz, böylece root olarak root çalıştırmak zorunda kalmazsınız. Bağlantı noktası yönlendirmesini ayarlarken, bağlantı noktası sunucunuzun çalışmakta olduğu bağlantı noktasına 80 numaralı bağlantı noktasını iletebilirsiniz.

+1

yılında ip adresinde uygulamanızı görebilirsiniz yönlendirici benim makinede (bir iMac) 'de ya da benim genişbant WiFi kutusunda pişirilir düşünüyor musunuz? – Randomblue

+2

Bu "wifi kutunuz". – ThiefMaster

+0

Bir tedavi gibi çalışır. Çok teşekkürler. – Randomblue