监听自查是什么
应用启动了但外部访问不通,先不要改配置。按四层顺序逐层验证:本机是否在监听、本机能否访问、本机防火墙是否放行、外部网络与安全组是否可达。每层都有明确的判定依据,逐层排除才能定位到真正的环节。
基本信息
| 场景 | 服务端口对外不可用的自查 |
|---|---|
| 组合工具 | 监听查看、curl 自测、防火墙规则查看、从外部做连通性探测 |
| 关键判据 | 监听地址是全网卡还是仅本机 |
| 补充层次 | 云平台安全组与上游负载均衡 |
典型使用场景
- 上线后自检:发布完成先做四层检查,再交付测试
- 故障定位:区分应用问题与网络问题,避免在错误方向上反复改配置
- 安全组核对:本机防火墙已放开但外部不通时,去云控制台核对规则
- 变更后回归:调整监听地址或防火墙规则后按同一套步骤复测
- 巡检脚本:把四层检查串成脚本,作为服务健康自检的一部分
逐层检查
逐层检查
ss -tlnp | grep ':8080' # 1. 是否在监听、绑的哪个地址
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/health # 2. 本机能否访问
firewall-cmd --list-ports 2>/dev/null || ufw status | grep 8080 # 3. 本机防火墙
nc -zv 10.0.0.5 8080 # 4. 从其他机器验证
ss -tlnp | awk '{print $4}' | sort -u # 汇总监听地址,快速发现异常绑定四层判据
| 层次 | 检查命令 | 典型结论 |
|---|---|---|
| 监听 | 监听查看命令 | 无输出说明进程没起来或没绑定该端口 |
| 本机访问 | 本机 curl 探测 | 失败说明应用本身异常或端口不一致 |
| 本机防火墙 | 防火墙规则查看 | 未放行则外部必然不通 |
| 外部可达 | 从别的机器做连通探测 | 本机通而外部不通,问题在网络或安全组 |
| 云平台 | 控制台安全组规则 | 本机全部放开仍不通时必须查这一层 |
绑定到本机回环地址是本地通、外网不通最常见的原因:监听地址显示为回环地址时必须修改应用的监听配置。
排查顺序固定为从内到外,每一层的结论都能缩小下一层的范围,比反复猜测配置更省时间。
用公网地址做探测可能触发扫描告警,内网验证优先。