阿里云ECS安全组怎么开放端口?配置步骤和排错要点

在阿里云上部署好网站或接口,外部访问却一直超时,新手大多会遇到这个情况。问题通常不出在程序本身。ECS实例默认拦截大部分入站流量,外部要能连上服务,云端安全组和服务器系统防火墙都得放行。排查时两层都要看。

阿里云ECS安全组怎么开放端口?配置步骤和排错要点

安全组和网络ACL的区别

在阿里云上开放端口,主要靠安全组。安全组可以理解为绑在实例上的虚拟防火墙,决定哪些入站请求能进来,哪些出站请求能出去。它是有状态的:入方向请求放行后,对应的返回数据自动放行,不需要再单独加出方向规则。

如果实例位于专有网络(VPC)里,还可能受网络ACL影响。网络ACL作用在子网上,规则是无状态的,入方向和出方向要分别放行。个人和小型项目一般只配安全组。端口已经放行却还是不通,再去查网络ACL。

在安全组里添加规则

下面以开放8080端口的Web服务为例。控制台界面会随版本变化,具体菜单名以阿里云官网当期文档为准。

  1. 登录ECS管理控制台,进入“实例”列表,找到目标实例。
  2. 点击实例ID进入详情页,切换到“安全组”页签,再点击绑定的安全组ID。
  3. 在安全组页面选择“手动添加”,进入入方向规则。
  4. 授权策略选“允许”。优先级保持默认即可,数值越小优先级越高,需要覆盖其他规则时再调整。协议类型选“自定义TCP”,端口范围填“8080/8080”。
  5. 授权对象按用途填写。只允许一台办公电脑访问时,填它的公网IP加“/32”,例如“203.0.113.10/32”。只有确实要面向所有人开放时,才填“0.0.0.0/0”。
  6. 保存后规则在数秒内生效,不用重启实例。

三个容易出错的地方

  • 端口范围格式要正确。单个端口写成“8080/8080”,连续多个端口写成“8000/8100”。端口栏里只放端口号和斜杠,不要混入协议名或空格。
  • 协议选错会直接不通。HTTP和大多数Web接口用TCP。DNS查询、部分游戏服务可能用UDP,部署前先确认服务用的是哪种协议。
  • 规则要加在真正生效的安全组上。一台实例可以绑定多个安全组,先在实例详情页看清实际绑定了哪一个,再去添加规则。

服务器内部防火墙

安全组放行后,如果系统防火墙仍在拦截,外部照样连不上。CentOS和Alibaba Cloud Linux一般用firewalld,Ubuntu一般用ufw。以firewalld为例,执行:

sudo firewall-cmd –permanent –add-port=8080/tcp

sudo firewall-cmd –reload

Ubuntu上执行sudo ufw allow 8080/tcp即可。只有系统防火墙已经开启时才需要这一步。

确认服务监听的是外部地址

还有一种常见情况:程序只监听了127.0.0.1。这时即使安全组和防火墙都放行,外部请求也到不了服务,因为服务只接受本机的连接。在服务器上执行下面的命令看一眼:

ss -lntp | grep 8080

如果输出是“127.0.0.1:8080”,把程序的监听地址改成“0.0.0.0:8080”,然后重启服务。如果输出是“0.0.0.0:8080”或“*:8080”,说明服务已经对外监听,问题在别处。

从外部测试端口

在自己的电脑或另一台服务器上执行:

nc -vz 公网IP 8080

输出“succeeded”或“Connected”,说明端口可达。如果超时,按这个顺序查:安全组规则是否生效,授权对象是否包含你的出口IP,系统防火墙,服务监听地址。一层一层排除,通常十分钟内能找到原因。

案例一:Flask接口一直超时

某开发者在ECS上部署了一个Flask接口,监听5000端口。本地测试正常,外部访问却一直超时。他检查后发现两个问题:

  • 安全组只放行了22和80端口,5000端口没有规则,这是首要原因。
  • 程序用的是app.run()默认配置,只监听127.0.0.1。

他在安全组里加了“自定义TCP、5000/5000、授权对象0.0.0.0/0”的规则,同时把启动参数改成host=0.0.0.0,接口恢复正常。这只是测试接口,所以他后来把授权对象收窄到了固定的前端服务器IP。

案例二:MySQL被暴力破解

另一位用户为了方便远程连接数据库,把安全组的3306端口授权给了“0.0.0.0/0”。不到两天,云监控提示登录失败次数异常增多,数据库里还出现了陌生账号。

他的处理分三步。第一,删除3306端口的全网开放规则。第二,只允许办公网出口IP访问,规则写成“办公网IP/32”。第三,修改数据库密码,清理异常账号。如果确实需要远程访问数据库,更稳妥的做法是使用RDS白名单,或者通过VPN、堡垒机连接,不要直接把数据库端口暴露在公网上。

开放端口的几条原则

  • 按需开放。只开业务实际用到的端口。为省事而全部开放,会让服务器的攻击面变大。
  • 限制来源。22、3389和数据库端口这类管理端口,授权对象尽量只填固定IP。
  • 及时清理。测试结束后马上删除临时规则,别让它长期留在安全组里。
  • 保持服务更新。端口只是入口,对外的服务要及时修补漏洞,否则放行端口反而增加风险。
赞 (0)
阿里云社区怎么用?新手注册、提问和找资源的路径
上一篇 2026年10月31日 下午5:24
企业阿里云邮箱登录不上,常见的几种原因怎么排查?
下一篇 2026年10月31日 下午5:25

相关推荐

  • 阿里云搭建网站,从买服务器到上线要踩哪些坑

    第一次用阿里云搭建网站,多数人会卡在两个地方:选哪种配置,以及买回来之后怎么连上、怎么让网站被访问到。服务器开机了,浏览器却打不开页面,排查半天,往往只是某个端口没放行。下面用一个小案例串起整个流程,步骤按实际操作的顺序来写。 案例:一个想上线的小工具 小林是独立开发者,手里有一个做了半年的在线工具,一直在本地运行。他想让朋友和客户都能访问,需要一台能长期稳…

    2026年10月31日
  • 阿里云80端口不能访问?先查安全组和备案拦截

    服务器上的网站部署好了,浏览器输入公网IP却打不开,这种情况在阿里云用户里很常见。很多人第一反应是服务挂了。其实阿里云80端口不能访问的原因分散在几层:云端安全组、服务器自带的防火墙、Web服务配置,还有备案拦截。下面按从内到外的顺序,给出可以直接照着做的排查步骤。 先看一个例子 有个做在线教育的小团队,在阿里云ECS上用Nginx部署了前端页面。部署完,同…

    2026年10月31日
  • 阿里云被墙怎么办?先查这3类原因

    很多站长把服务部署到阿里云后,突然发现网站打不开或接口超时,一搜才发现”阿里云被墙”这个说法在网上并不少见。实际排查下来,问题多半出在某个IP、域名或端口上,很少是阿里云整体的问题。先把是哪一层出了问题分清楚,后面的处理才不会走偏。 阿里云是整体被墙吗 目前没有公开资料显示阿里云整体服务被全面封锁。多数”被墙”…

    2026年10月31日
  • 阿里云邮件推送怎么接入?发信域名和送达率要先看

    做业务系统、电商或 SaaS 的团队,大多绕不开邮件。注册验证码、订单通知、账单提醒、活动推广,都要靠邮件把消息送到用户手里。阿里云邮件推送(Direct Mail)就是为这类需求准备的服务。它提供 API 和 SMTP 两种发送方式,域名配置、退信处理和发送日志也都放在控制台里,省去了自己维护邮件服务器的麻烦。 这篇文章先讲清楚它适合什么场景,再用一个假设…

    2026年10月31日
  • 阿里云域名怎么买?后缀、续费和实名要注意什么

    域名就是网站的门牌号。门牌号被人占走,或者忘了交费被回收,访客就找不到你了。很多人第一次买域名只盯着价格,买完才发现续费贵、解析用不顺、备案卡住。阿里云的域名产品选择多,但购买和后续管理都有不少细节。下面三个案例放在一起看,能把怎么选、怎么买、怎么管串起来。 先想清楚域名要做什么 选域名之前,可以先问自己三个问题:这个域名做什么用,打算用几年,以后会不会换方…

    2026年10月31日
返回顶部