A conexão expirou no aplicativo Node.js em execução no CentOS

2

Eu segui este tutorial para criar um aplicativo node.js simples no meu CentOS:

a versão node.js é:

$ node -v 
v0.10.28

Aqui está o meu app.js :

// Include http module, 
var http = require("http"), 
// And url module, which is very helpful in parsing request parameters. 
    url = require("url"); 
// show message at console
console.log('Node.js app is running.'); 
// Create the server. 
http.createServer(function (request, response) { 
    request.resume();
    // Attach listener on end event. 
    request.on("end", function () { 
        // Parse the request for arguments and store them in _get variable. 
        // This function parses the url from request and returns object representation. 
        var _get = url.parse(request.url, true).query; 
        // Write headers to the response. 
        response.writeHead(200, { 
            'Content-Type': 'text/plain'
        }); 
        // Send data and end response. 
        response.end('Here is your data: ' + _get['data']); 
    }); 
// Listen on the 8080 port. 
}).listen(8080);

No entanto, quando carreguei esta aplicação no meu servidor remoto (suponha que o endereço é 123.45.67.89), não consegui aceder a ela no meu navegador

http://123.45.67.89:8080/?data=123

O navegador retornou Error code: ERR_CONNECTION_TIMED_OUT .

Eu tentei o mesmo código app.js que roda bem na minha máquina local, há algo que eu esteja faltando?

Eu tentei ping do servidor e seu endereço estava acessível.

Obrigado.

    
por dumbfingers 27.05.2014 / 10:43

1 resposta

2

Vou adivinhar que você não abriu seu firewall para a porta 8080. Você pode fazer isso usando os iptables comando

iptables -I INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

Se isso funcionar, você pode salvar seu estado de firewall com

service iptables save
    
por 27.05.2014 / 13:57