作者小头像 Lv.1
21 成长值

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
TA还没获得勋章~
成长雷达
15
6
0
0
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

他的回复:
安全组只是链路上的第一道门。你这个现象(本机 curl 通、公网 telnet 不通)按下面顺序排查,基本都能定位:1. 先确认服务监听的地址本机 curl 127.0.0.1 通,不代表服务对外监听。执行 ss -tlnp | grep 8080,如果监听地址是 127.0.0.1:8080,那就是应用只绑了回环地址,改成 0.0.0.0:8080(或::)重新部署。这是最常见的原因,先查它。2. 操作系统防火墙安全组之外,系统内还有一层:- firewalld:firewall-cmd --list-ports 看 8080 在不在,不在就 firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload- iptables:iptables -L -n 看有没有 DROP/REJECT- Ubuntu 的 ufw:ufw status3. 安全组是否真的挂在这台实例上在控制台核对三件事:规则加在「这台 ECS 实际关联的安全组」上(一个实例可关联多个组,加错组很常见);方向是入方向;协议是 TCP 且目的端口 8080。另外注意规则优先级里有没有数值更小(更优先)的拒绝规则盖住了它。4. 云防火墙与网络 ACL如果开通了云防火墙(CFW),它的入侵防御/访问控制策略会再拦一层,去 CFW 控制台看有没有拦截日志;VPC 子网关联了网络 ACL 的话,ACL 的入方向也要放行(ACL 是无状态的,回程的出方向也要放)。5. 公网入口本身- EIP 是否真的绑定在这台实例(或它的 NAT 网关映射是否指向这台、端口映射是否 8080→8080);- 用云外另一台机器(或手机流量)再测一次,排除本地网络/公司出口对非常用端口的封锁;- 换一个高位端口(比如 18080)临时监听测试,能通就说明 8080 在中间链路被特殊处理。6. 终极定位:在服务器上抓包tcpdump -i any port 8080 -nn,然后从外网再 telnet 一次:- 抓不到 SYN 包:请求根本没到服务器,问题在安全组/EIP/NAT/上游链路;- 抓到 SYN 但服务没回 SYN-ACK:问题在本机(监听地址/系统防火墙);- 有 SYN-ACK 但连接建不起来:回程被拦(ACL 无状态规则、非对称路由)。按 1→2→3 的顺序,八成在前三步就解决了,个人经验里第 1 条(监听回环地址)占了一半以上。