这个现象非常常见,也是最容易让人误判的一条。

检测显示 IPv6 全部失败,但拿手机一试,网站秒开。于是结论变成“工具不准”。

多数时候,工具是准的,手机也没有说谎。

手机同时走了两条路

主流操作系统在发起连接时,会同时尝试 IPv6 和 IPv4,这就是 Happy Eyeballs 机制。

IPv6 如果连不上,系统会在几百毫秒内放弃,回落到 IPv4。整个过程用户完全感知不到,页面照常打开。

所以“手机能打开”只证明了一件事:IPv4 那条路是通的。IPv6 那条路通不通,手机根本没告诉你。

什么情况下才会暴露

纯 IPv6 环境。

部分移动网络、部分教育网、一些物联网设备,只有 IPv6 出口,没有 IPv4 或者需要经过 NAT64 转换。这类用户访问你的站点时,没有回落这个选项,IPv6 不通就是打不开。

这类用户占比不高,但一旦出问题,就是完全无法访问,不是慢一点。

怎么确认 IPv6 到底通没通

只查 AAAA 记录不够,那只证明解析配了。

用 IPv6 网站测速 从具备 IPv6 出口的节点发起请求,看能不能建连、能不能完成 TLS 握手、能不能拿到状态码。三步都过,才算真的通。

也可以在自己的电脑上临时禁用 IPv4 再访问,但操作麻烦,而且只能代表你所在网络的情况。多节点探测的信息更全面。

常见的原因

如果确认 IPv6 真的不通,问题通常在这几处。

服务器没有公网 IPv6 地址,或者机房没开通 IPv6 出口。

Nginx 只监听了 IPv4,没写 listen [::]:443。

防火墙或安全组只放行了 IPv4,ip6tables 是另一套规则。

CDN 没有开启 IPv6,或者开了但回源链路有问题。

按这个顺序查,大部分情况能定位到具体哪一环。

一个反向的误判

还有一种情况:检测全部成功,但用户说打不开。

这通常不是 IPv6 的问题,而是用户所在网络的 IPv6 出口有问题,或者用户的设备没有 IPv6。检测只能证明“从探测节点到站点”这条路通,不能证明“从每个用户到站点”都通。

工具给的是参考坐标,不是最终结论。