网站不支持IPv6的原因有哪些?如何解决?
先说结论
我先说数据。我跑了 www.baidu.com。两轮,三十个节点。 全部返回 200。地址是 240e 段。 所以它支持 ipv6。不支持是另一回事。

不支持的四个原因
一是没有 v6 记录。域名只配了 v4。 二是服务器没开监听。nginx 只听了 v4 端口。 三是中间层没开。cdn 和防护只转 v4。 四是应用写死了。代码里只认 v4 地址。
四个原因里,前两个最常见。查起来也快。后两个要动配置。改之前先备份。
我一开始判断错了
我以为信阳那台 0.394s 是没走 v6。 试了半天才发现。它也是 240e 段。 那么它只是慢。不是不支持。 慢和不通是两码事。一个看链路。一个看记录。
怎么快速分辨
看详情里的地址。240e 开头就是 v6。 再看状态码。200 说明走得通。 最后看几段耗时。哪段长就查哪段。
信阳那台。dns 是 0s。tcp 0.019s。ttfb 0.394s。 前面都很快。慢在等首字节。 那么问题在后端。跟 v6 没关系。
怎么解决
没记录就去加 aaaa。加完等生效。 没监听就让服务听 v6。改完重载配置。 中间层没开就去控制台勾上 v6。然后回源也确认一遍。 应用写死就改代码。这一步最慢。要开发配合。
改完别只看本机。这里我用宝塔拨测的网站测速。 多地区跑一轮。看是不是每台都通。

两轮差五倍说明什么
第一轮 0.124s。第二轮 0.026s。 间隔很短。那么第一轮是忙时。 拿它当基线会误判。
我的做法
先测。再改。改完再测。 没测出不通之前,不叫不支持。测出来不通,再动手。
能返回 200,就别改记录。先看慢在哪一段。