在 CentOS 下运行的 Node.js 应用程序连接超时

在 CentOS 下运行的 Node.js 应用程序连接超时

我跟着本教程在我的 CentOS 上创建一个简单的 node.js 应用程序:

node.js 版本是:

$ node -v 
v0.10.28

这是我的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);

但是,当我将此应用程序上传到我的远程服务器(假设地址是 123.45.67.89)时,我无法在浏览器上访问它

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

浏览器返回Error code: ERR_CONNECTION_TIMED_OUT

我尝试了相同的 app.js 代码,它在我的本地机器上运行良好,我遗漏了什么吗?

我尝试访问ping服务器并且其地址可以访问。

谢谢。

答案1

我猜你没有打开防火墙的 8080 端口。你可以使用iptables命令

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

如果此方法有效,您可以使用以下命令保存防火墙状态

service iptables save

相关内容