Node.js可以访问默认端口,但无法访问特定端口

时间:2015-09-18 06:51:32

标签: node.js ubuntu

http.createServer(function(request, response){
  response.writeHead(404, {'Content-Type': 'text/plain'});
  response.write('Helloworld!');
  response.end();   
}).listen(3000,function(){
  console.log("server listen on port::: 3000");
});

以上是 Ubuntu 中非常简单的代码段。 我可以通过默认端口(80)正常访问,但不能通过特定端口访问。 我访问的是外部IP,而不是内部本地主机。 我可以通过" curl x.x.x.x:3000"的命令行得到正确的响应,但我无法在Web浏览器中打开它。 任何能给出提示的人都将受到赞赏!!!

1 个答案:

答案 0 :(得分:0)

进程可能正在使用该端口。

netstat -tulpn | grep 3000将为您提供正在使用该端口的进程。

如果没有找到,请查看您的iptables。

编辑:从评论建议,可能是OP桌面限制非HTTP端口的外部请求。简单的iptable就可以了。

-A OUTPUT -d **dest_ip**/32 -p tcp -m tcp --dport 3000 -j ACCEPT

用你的IP替换 dest_ip