2011-08-26 24 views
10

tengo la aplicación web del servidor web básico hola para nodejs en windows y funciona en localhost. Pero cuando lo pruebo desde Internet, no se puede conectar. Configuré el reenvío de puertos en mi enrutador netgear. ¿Me falta un paso aquí para hacer que mi servidor nodejs sea visible para el mundo exterior?Node.JS No funciona en Internet

Gracias.

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(1337, "127.0.0.1"); 
console.log('Server running at http://127.0.0.1:1337/'); 
+0

Ayudaría si nos muestra el código que está utilizando. – AppleGrew

+0

Es solo el servidor web hello world en el sitio web nodejs. – BRampersad

Respuesta

17

Asegúrese de escuchar en lugar de 0.0.0.0127.0.0.1

127.0.0.1 es una red privada visible sólo a su ordenador. 0.0.0.0 escucha todas las interfaces, incluidas las privadas y públicas (tan públicas como pueden estar detrás de una NAT).

+0

Genial, ¿dónde aprendiste eso? Ni siquiera sabía que 0.0.0.0 era una IP válida. – BRampersad

+0

Lo recogió en Linuxland, probablemente editando las configuraciones lighttpd a mano o algo. Ha sido un tiempo. –

+0

Tengo el mismo problema, utilicé 0.0.0.0 pero todavía no puedo acceder a mi servidor fuera. – xybrek

0

Parece que está vinculando el servidor a la dirección IP 127.0.0.1 que es localhost. Si desea acceder a él en otro lugar, deberá configurarlo en su IP de Internet. Consulte whatismyip.com y use esa IP en su lugar.

+0

Esto no funcionará si está detrás de un NAT. Su dirección IP interna (probablemente) será 192.168.x.x, pero su dirección pública será algo completamente diferente. –

+0

¿qué hacer si estás detrás de un NAT? – rocketspacer

Cuestiones relacionadas