linode新手问题,关于node直接监听端口,外网通过ip访问不了的问题?

Johnbug
  • 167

情况如此:
在linode已经安装好了node,并且写了个demo(node官网那段hello,world),在服务器上运行无问题,curl localhost也可以返回。但是如果 curl ip 就访问不了。当然外网不能访问。
我已经查看了80端口。已经被node占用。
查看防火墙,也开启了web访问。(或者就说没开。。)
没找到原因。

后来装了nginx,start nginx后没问题,都可以访问。

想问下原因?之前在阿里云上直接运行node都可以。。

回复
阅读 17.2k
1 个回答
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/');

这是官网的 Demo, 上面已经写了只监听了本地环回地址了啊。把 listen 的第二个参数省略掉,就可以监听所有地址了。

PS: 另一个排错技巧:

netstat -lnp 也是可以看到一个程序到底监听的是 127.0.0.1 还是 0.0.0.0 的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏