是这样的 我买了一个阿里云ECS云服务器,现在在研究后台的一些部署问题。首先已经在服务器上安装好iis,并且
可以正确显示iis的示例网站,也就是在服务器打开127.0.0.1 以及在外网 通过ip均可访问该实例站点。
所以为了避免是阿里云或者防火墙的一些阻隔,我把这个示例网站停止了,并且运行了服务器上的一个node文件,
其中代码也很简单,就是监听80端口,然后返回一个字符串:
var http = require("http");
//创建服务器
var server = http.createServer(function(req,res){
if(req.url == "/"){
//设置响应头
res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});
res.end("成功!");
}else{
res.writeHead(404,{"Content-Type":"text/html;charset=UTF8"});
res.end("失败");
}
});
server.listen(80,"127.0.0.1");
然后通过cmd运行该js文件,这个时候 在服务器打开127.0.0.1 可以正常在网页显示成功字样,但是在外网 通过http://xx.xxx.xx.xx 则显示网站链接错误的页面,看F12看请求 也没有收到服务器数据。
请问这样的原因是什么,该怎么做 才能把实现外网可以调用到node的后台数据呢?~~先谢谢大家了
就像上面说的,可以
server.listen(80, '0.0.0.0')
但是一般我们不会这样做,因为node自带的server只是基本的server,缺少一些高级的功能,比如: 负载均衡, 访问控制等,所以,我们会
server.listen(8080, '127.0.0.1')
运行在本地,然后将Nginx暴露到公网,Nginx反向代理本地的node server