作者:zhanhailiang 日期:2014-11-11
阅读《Node.js入门经典》第一章有点小困惑~~
下面代码:
[root@~/wade/nodejs/nodetest]# cat server.js var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('i am using node.js'); }).listen(3000, '127.0.0.1'); [root@~/wade/nodejs/nodetest]# node server.js
可是本地訪问成功,网络解析成功:
[root@~]# netstat -an|grep 3000 tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN [root@~]# curl http://127.0.0.1:3000 i am using node.js
可是使用公网ip訪问却老是报Connection Error:
GET http://公网IP:3000/ net::ERR_CONNECTION_REFUSED
初步推断应该和本地监听有关,试了了去掉127.0.0.1:
^C[root@~/wade/nodejs/nodetest]# cat server.js var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('i am using node.js'); }).listen(3000); [root@~/wade/nodejs/nodetest]# node server.js
此时通过公网IP訪问正常:
[root@~]# netstat -an|grep 3000 tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN
初步定位差别在于监听的是127.0.0.1:3000还是0.0.0.0:3000。
查到几篇相关文章解释下127.0.0.1和0.0.0.0的差别: