高防服务器端口故障排查方法
一 标准化排查流程
- 明确访问要素:确认目标为高防IP/防护域名、协议(TCP/UDP)、端口号与客户端出口IP。
- 分层自检:
1) 客户端到高防:先用本地工具测试端口连通性(如telnet 高防IP 端口、或 TCP 探测工具)。
2) 高防到源站:在源站上检查服务是否监听、系统防火墙是否放行、云安全组/ACL是否允许回源IP。
3) 回源链路:必要时做带端口的链路探测,定位是否被中间节点拦截。
- 最小化验证:临时关闭防火墙做 A/B 测试;确认业务配置(如 Nginx/应用监听地址与端口)与高防转发规则一致。
- 复测与留痕:每次变更后复测,并保存命令输出与抓包/探测结果,便于回溯。
二 高防侧与转发规则核验
- 域名接入校验:修改本地hosts将域名指向高防IP,执行 ping 域名确认解析已切换至高防;随后直接访问域名或 IP:端口验证业务是否可达。
- 端口转发直连测试:在本地执行如telnet 高防IP 1234,能连通说明高防转发层面基本正常;若不通,优先核对高防的端口转发规则与协议类型。
- 回源放行:确保已在源站放行高防回源IP段,否则源站防火墙/安全组会丢弃回源流量,表现为端口“开放但无响应”。
- 自定义端口与限制:
- HTTP/HTTPS 的自定义端口范围为80~65535;
- 避免使用互联网侧常拦截的高危TCP端口(如42、135、137、138、139、445、593、1025、1434、1068、3127、3128、3129、3130、4444、5554、5800、5900、9996),否则可能出现部分地区访问异常;
- 单个高防实例下,所有接入网站的“不同端口(含不同协议)”总数不应超过10个。
三 源站与系统层检查
- 服务监听与端口占用:
- Linux:执行netstat -ntpl | grep 端口或ss -lntp | grep 端口,确认状态为LISTEN且监听地址为0.0.0.0(或正确的内网地址),而非仅 127.0.0.1;必要时用lsof -i:端口定位占用进程。
- Windows:执行netstat -ano | findstr :端口,确认有监听并核对 PID。
- 服务状态与配置:重启相关服务(如 Nginx/Apache/应用),核对配置文件中listen 端口与协议是否匹配。
- 本机防火墙:
- firewalld/iptables:放行对应端口(或临时关闭做验证);
- Windows Defender 防火墙:在“高级安全”中放行入站规则。
- 云安全组/ACL:核对入站/出站规则是否允许目标端口与客户端网段/高防回源网段;物理/边界设备检查ACL策略。
- 端口冲突与日志:若端口被占用,释放或更换端口;同时查看应用与系统日志(如/var/log/)中的绑定/启动错误。
四 网络连通性与链路定位
- 基础连通性:
- ICMP(ping)仅验证网络层可达,端口不通时仍可能 ping 通;
- TCP 探测:使用telnet 目标IP 端口或专用端口检测工具验证传输层连通性。
- 带端口的链路探测:
- Linux:使用traceroute -T -p 端口 目标IP;
- Windows:使用tracetcp 目标IP:端口。
若在某跳之后持续超时,通常可判定该节点对目标端口做了拦截,需联系对应运营商/网络管理员处理。
- 多环境对比:从不同地域/运营商客户端测试,排除区域性策略或劫持问题。
五 常见症状与快速处置
| 症状 | 快速判断 | 处理要点 |
|---|
| 能 ping 通,端口不通 | 传输层被拒或拦截 | 查源站监听、系统/云防火墙、安全组;用 telnet 与带端口 traceroute 定位拦截点 |
| 已放行端口仍显示关闭 | 服务未监听或配置错误 | netstat/ss 确认监听地址为 0.0.0.0;核对应用配置与端口占用 |
| 更换高防后访问异常 | 转发规则或回源未就绪 | 校验高防转发规则、回源放行、Web 服务配置与日志 |
| 仅部分地区无法访问 | 高危端口被运营商拦截 | 更换为非高危端口并重新验证 |
| 端口转发测试失败 | 高防转发未生效 | 用 telnet 直连高防IP:端口;核对协议类型与端口配置 |