NodeJS服务器不能从外部访问

我在Rackspace中部署了一个nodejs服务器,并可以在内部访问,如使用:

curl http://127.0.0.1:8080

但是,即使我这样做,也不能从外部(互联网)访问:

 iptables -A OUTPUT -p tcp --dport 8080 -j ACCEPT iptables -A INPUT -p tcp --dport 8080 -j ACCEPT 

这是我的代码看起来像:

 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Simple server\n'); }).listen(8080, "0.0.0.0"); console.log('Server running at http://0.0.0.0:8080/'); 

有任何想法吗?

我很确定你必须使用

 iptables -A OUTPUT -p tcp --sport 8080 -j ACCEPT 

为传出规则(不dport )。 除此之外,也许有一个更早的规则阻止交通? 试试iptables -L

我想你应该尝试不指定一个IP。

 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Simple server\n'); }).listen(8080); console.log('Server running at http://0.0.0.0:8080/');