端口通了,我就停了

排查时用 TCPing 测 443,全通,我判断「服务器没问题」,把问题推回给了用户。后来用户发了截图,浏览器报证书错误。

握手成功只说明能连上,TLS 和页面都还没开始验证。这一步停下来太早了。那次之后我给自己定了条规矩:任何「端口通」都不能当成结论。

下一步:TLS

443 端口能连,不代表 TLS 能协商成功。

证书过期、域名不匹配、证书链不完整、协议版本太低、加密套件不匹配,都会让握手失败。表现是页面直接报错,而不是慢慢加载。

可以用 SSL 检测单独看证书,比在浏览器里点小锁更清楚。握手失败时先分清是证书错误还是协议错误,两者处理方式不同。

这时候光看 TCP 是通的,很容易误判成「服务正常」。

TCP 检测:填域名和端口,多节点看连通与握手耗时

TCP 检测:填域名和端口,多节点看连通与握手耗时

再下一步:HTTP

TLS 通了,看 HTTP 状态码。

5xx 是服务端或上游的问题;4xx 是请求、权限或策略问题;3xx 是跳转,可能跳到失效地址。每个方向都不一样。

还有一种:HTTP 能通,但返回的是另一个域名或者另一个站点的内容。这通常是 SNI、虚拟主机或 CDN 配置错位。

在宝塔拨测的 TCP 测速确认端口之后,再配一个 HTTP 监控看状态码,两层对照着判断。

最后看响应内容

状态码正常也可能是坏的。

返回一个空白页、默认页、拦截页,或者只有几个字的错误提示,用户看到的都是「打不开」。

这类问题只能看正文,不能只看状态码。抓一小段内容对比,或者比对正常时的页面大小和标题,异常时一眼就能看出来。

端口通但服务假死也很常见:握手成功之后一直不返回数据,最后超时。这类情况在 TCP 层面完全正常,只有往上看才会暴露。

用节点分布判断范围

所有节点同样报错,是服务端配置或证书的问题。

只有部分节点失败,偏线路、地区策略,或者某个 CDN 边缘节点。海外正常、国内全错,偏区域策略;反过来,偏境外线路。

按运营商分组看,能判断是不是某一家网络到你这有问题。

复测和边界

改完用同一批节点复测,先看 TLS 是否通过,再看状态码,最后看内容。

连测两三次,确认稳定。记录里把每一层的结果写清楚:端口、TLS、状态码、内容摘要,别只写一句「还是打不开」。

顺序是从下往上:端口、TLS、HTTP、内容。每过一层,问题的范围就缩小一层。跳过任何一层,都可能得出相反的结论。