在云服务上部署了程序之后,在外部访问时总是会遇到如下图的这种问题,一般都是由于端口未开放导致的.

云服务器防火墙关闭会怎么样 云服务器防火墙在哪里_服务器

原因如下:

在云服务器上部署的程序,外部调用的时候会通过两层验证,一层是阿里云的安全组验证,一层就是操作系统的防火墙.
因而如果我们想在外部访问到程序接口,就需要通过这两层验证.

一. 阿里云安全组

1. 找到对应的系统实例并选中

云服务器防火墙关闭会怎么样 云服务器防火墙在哪里_linux_02


博主的实例就是在华北2中,选中后就可以获得实例的具体信息

云服务器防火墙关闭会怎么样 云服务器防火墙在哪里_centos_03

2. 通过{更多->网络和安全组->安全组配置}来开放需要的端口

云服务器防火墙关闭会怎么样 云服务器防火墙在哪里_服务器_04

3. 新建或选中已有的安全组,点击配置规则

云服务器防火墙关闭会怎么样 云服务器防火墙在哪里_centos_05

4. 点击手动添加,配置要开放的端口

云服务器防火墙关闭会怎么样 云服务器防火墙在哪里_centos_06

比如博主的程序部署在9999接口,就可以简单配置如下图所示:

云服务器防火墙关闭会怎么样 云服务器防火墙在哪里_centos_07

5. 配置完成后记得重启实例,以防止配置不生效

选中实例,点击重启即可,服务器里部署的程序也记得要重新启动呦

云服务器防火墙关闭会怎么样 云服务器防火墙在哪里_云服务器防火墙关闭会怎么样_08

二. 服务器防火墙

通过防火墙有两种方案:
注: 方案实测适用于Centos7,对于Centos6等不做保证

1. 直接关闭防火墙

此方案简单且粗暴,虽然并不建议此方案,但为了大家方便,还是演示如下:

# systemctl stop firewalld 关闭防火墙
	# systemctl status firewalld 查看防火墙状态

云服务器防火墙关闭会怎么样 云服务器防火墙在哪里_云服务器防火墙关闭会怎么样_09


在防火墙关闭dead之后,外部就可以通过ip和接口调用到程序了

2. 在防火墙开放需要用到的端口

# systemctl start firewalld  启动防火墙
	# firewall-cmd --zone=public --add-port=9999/tcp --permanent 防火墙开放端口9999
	# firewall-cmd --reload 重新加载防火墙
	# firewall-cmd --zone=public --list-ports 查看防火墙开放的端口

云服务器防火墙关闭会怎么样 云服务器防火墙在哪里_centos_10


可以看到端口9999已经开放了

需要注意的是,执行开放端口的命令时,需要确保防火墙属于开启状态

三. 访问测试

云服务器防火墙关闭会怎么样 云服务器防火墙在哪里_centos_11

可以看到,通过本地浏览器已经可以访问到云服务器上的接口了

四. 附言

如有谬误遗漏,欢迎评论区留言讨论指正!