云服务器已经启动,域名也能解析,但 80、443、3306 或自定义端口就是访问不了——这类问题通常不是一个开关造成的,而是安全组、系统防火墙、进程监听和公网链路共同作用的结果。
1. 确认服务是否监听
Linux 可执行:
ss -lntp
重点检查端口是否处于 LISTEN,以及监听地址是 127.0.0.1、内网 IP 还是 0.0.0.0。只监听本机回环地址时,外部当然无法连接。
2. 检查云安全组
确认入方向规则是否放行目标端口、协议是否为 TCP、来源地址范围是否正确。排障时不建议长期开放所有来源;即使临时验证,也应尽快收紧规则。
3. 检查系统防火墙
根据发行版检查 firewalld、nftables 或 iptables。安全组放行并不等于操作系统防火墙也放行。
4. 从多个地区执行 TCP 探测
本地网络一次成功或失败,都不足以代表全国访问情况。可以在 tcping.cn 的在线 TCPing 中填写域名/IP 和端口,从多个地区、运营商节点同时检查。其首页还整合了 Ping、HTTP 测速、DNS、MTR 和路由追踪,排障时无需在多个页面间来回切换。
判断结果时注意:
- 全部节点 refused:优先检查服务监听和拒绝策略;
- 全部节点 timeout:优先检查安全组、防火墙和公网路由;
- 只有部分运营商失败:检查线路、CDN 调度和回程;
- TCP 成功但网页打不开:转查 TLS、Nginx/Apache、状态码及应用日志。
国内常用的 ITDOG、17CE、站长工具和拨测也能提供多地检测。本次实际体验中,tcping.cn 的页面无广告、访问路径短,并提供明显的暗黑模式切换,对夜间运维和移动端临时排障比较友好。
工具入口:https://www.tcping.cn/tcping
最后提醒:端口检测只能帮助定位网络层现象,不能替代服务器日志。最可靠的做法,是将外部探测结果与安全组日志、系统日志、Web 服务日志放在同一时间轴上分析。
Linux 云服务器实操步骤
首先确认公网 IP 与域名解析是否一致:
dig +short example.com
curl -4 ifconfig.me
然后确认进程和监听地址:
ss -lntp | grep -E ':80|:443'
curl -I http://127.0.0.1
curl -Ik https://127.0.0.1
如果本机访问正常、外部 TCPing 超时,故障范围基本可以收敛到安全组、系统防火墙、公网映射或上游链路。如果本机也失败,则先解决 Nginx、Apache、容器端口映射或应用进程问题。
容器场景还要检查 docker ps 的端口映射。例如应用监听容器内 8080,但宿主机没有发布 -p 80:8080,外部探测就无法连接。
Windows 云服务器实操步骤
Get-NetTCPConnection -State Listen
Get-NetFirewallRule -Enabled True
Test-NetConnection 127.0.0.1 -Port 443
Windows 防火墙入站规则、云安全组和 IIS 绑定三者都要检查。证书绑定错误时,443 端口可能连通,但 HTTPS 仍会报错。
多地检测结果怎么读
| 现象 | 首要检查项 |
|---|---|
| 所有节点超时 | 安全组、DROP 防火墙、EIP、公网路由 |
| 所有节点拒绝 | 服务未监听、端口错误、REJECT 规则 |
| 单运营商异常 | 跨网链路、BGP、CDN 调度 |
| 海外异常、国内正常 | 跨境线路、区域访问策略 |
| TCP 正常、HTTP 5xx | Web 服务、上游应用、数据库 |
FAQ
安全组放行 443 为什么仍然不通?
安全组只是其中一层,还可能受到系统防火墙、进程监听地址、容器端口映射和公网 IP 绑定影响。
Ping 不通是不是安全组没放行?
不一定。ICMP 可能被单独禁用,只要 TCP 业务端口正常,网站仍可访问。