阿里云云服务器的端口配置问题

心血来潮花了9块9(学生价)买了个阿里云。由于后端只会一点 Node,因此上来第一件事就是按照官方教程把部署 Node 项目这个教程撸了一遍。javascript

问题描述

官方教程代码

const http = require('http');
const hostname = 'ECS公网IP地址';  // 这里把文字换成本身的公网IP地址
const port = 3000;
const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});
server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

一段简单最简单的 Node http服务器,成功运行后能够在页面输出 Hello World。html

报错

报错

报错了,由于以前写node只须要监听端口,不必把IP地址也给写进去,因此我删了hostname,改为下面这样。java

const http = require('http');
const hostname = 'ECS公网IP地址';  // 这里把文字换成本身的公网IP地址
const port = 3000;
const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});
server.listen(port, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

运行成功,可是在外网用浏览器输入IP地址以后没法访问。node

问题分析

curl ip.cnnginx

查询当前外网IP,没有问题,与阿里云提供的一致。后端

ping www.baidu.com浏览器

服务器能够访问外网安全

curl http://127.0.0.1:3000服务器

正确输出 "Hello World",说明代码的编写没有问题。网络

代码没问题,服务器网络没问题,ip地址没问题。我估计应该是防火墙把端口禁掉了。

关闭防火墙

身为小菜鸟,第一时间想到的就是把服务器的防火墙关掉。个人服务器是 CentOS7.0 ,与6.0不同,CentOS7.0默认使用 firewall 做为防火墙。

systemctl stop firewalld.service #中止firewall

systemctl disable firewalld.service #禁止开机启动firewall

firewall-cmd --state #查看防火墙状态,已经处于关闭状态

开Node服务器,浏览器访问仍是失败。

好像没招了,问小伙伴,他们说多是没有备案的缘由。可是没备案的小伙伴说他用得好好的,并且我就买了一个月的服务器,再等半个月备案我也不须要用了。正打算放弃问客服,小伙伴说你装个Nginx试试,只要正确运行Nginx并且服务器没问题直接访问IP地址就能出现Nginx首页了。

安装 Nginx

CentOS有两种方法安装Nginx,具体的自行谷歌吧。

安装完成,运行成功。

浏览器访问公网IP,没法访问。

从吃完中午餐13:00一直折腾到下午6:30左右,一动不动坐凳子上5个多小时了,不行了,休息吃完饭去。

解决

既然Nginx正确运行,那只剩两个问题了,一个是没有备案,不过这个问题的可能性很小很小。还有一点就是虽然我CentOS上把防火墙关了,但云服务器上阿里云应该会有一些安全措施,致使一部分端口被禁,或者压根就没有把端口打开。

吃完饭,散完步,我就在云服务器控制台里一个一个的找,发现安全组里点击配置规则后有一个安全组规则,里面经过添加安全组规则能够开放须要用到的端口。默认只打开了两个端口。

安全组
安全组
安全组

总结

这是一个简单的问题,不过须要一步步排除掉可能的缘由。

若是身边有个后端或者运维的小伙伴在的话,应该能够很快意识到这个问题。独狼是走不远的,至少是走不快的。

其实在购买时就能够选取要开放的端口,第一次嘛,没有经验,都是直接默认选项。怪不得小伙伴说他服务器的配置都没有动过,应该是购买的时候就已经设置好的。

趁年轻,多踩坑。

博客首发地址:https://www.jianshu.com/u/13cd86311525

相关文章
相关标签/搜索