笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080、443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端口号,任然无法访问端口号对应的应用程序,后面了解到原来还需要设置云服务器的「安全组规则」,开放相应的端口权限,服务端的接口才能真正开放。
设置阿里云服务器安全组规则开放端口
CentOs 7 防火墙开放端口
一、设置阿里云服务器安全组规则开放端口
阿里云官方解释 :安全组是一种虚拟防火墙,用于设置单台或多台云服务器的网络访问控制,它是重要的网络安全隔离手段,用于在云端划分安全域。每个云服务器对应的实例至少属于一个安全组,在创建的时候就需要指定。
阿里云服务器开放端口的具体步骤:
步骤1:登录阿里云官网后,进入到云产品工作台的主页
步骤2:点击图1的「云服务器ECS」,进入到 云服务器ECS的主页
步骤3:点击图2「i-2ze4ef9xk9hkxafq58d9」,进入实例详情页
步骤4:点击 图3的「配置安全组规则」进入实例「i-2ze4ef9xk9hkxafq58d9」所在的安全组列表
「安全组列表」:用户可以创建多个安全组,见下图"创建安全组"。然后在图4"配置安全组规则”中点击「加入安全组」,在弹出的菜单里选择刚创建的安全组,并且点击「配置规则」。
步骤5:点击图4的「配置规则」,进入配置页面,点击【手动添加】,添加端口号后,点击保存。
二、CentOs 7 防火墙开放端口
1. 查看正在监听的端口和进程信息:
netstat -ntlp
可以看到tomcat/java、nginx、redis、 mysql等进程正在监听的端口,这些接口都需要通过阿里云安全组以及防火墙同时开启接口才能生效,截图如下:
2. 以开放80端口为例:
开放端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service
查看已开启的端口信息:
firewall-cmd --list-ports
3. 防火墙常用命令:
查看防火墙状态,running代表正在运行:
firewall-cmd --state
停止命令
systemctl stop firewalld.service
启动命令
systemctl start firewalld.service
重启命令
systemctl restart firewalld.service
三、结语
如果你是市面上一些流行的云服务器(如:阿里云或腾讯云)的用户,在系统「防火墙」已经开放了相关的端口的情况下,任然无法正常连接端口,需要首先想到是否已经通过云服务器提供的「安全组配置规则」开放了端口,避免一不留意掉入坑里……^_^
来源地址:https://blog.csdn.net/crazestone0614/article/details/126923555