怎么检测网站是否支持 IPv6:四步检测法与报告解读
「这个网站支持 IPv6 吗?」听起来是一个是或否的问题,但真实情况往往更细:域名可能解析出了 AAAA,服务器也可能确实在 IPv6 上监听,可证书在 IPv6 上没部署,或者防火墙只放行了 IPv4 的 443。这时候如果只给一个「不支持」,你没法知道该改哪里。
所以本站把检测拆成四个依次递进的阶段,问题停在哪一层比结论本身更有价值。
一、四个阶段:DNS 解析 → TCP 连接 → TLS 握手 → HTTP 响应
这四个阶段是层层递进的,中间环节失败会阻断后续阶段:
| 阶段 | 在验证什么 | 失败通常意味着 |
|---|---|---|
| DNS 解析 | 域名能否解析出该协议族的地址 | 缺 AAAA 记录(IPv6)或缺 A 记录(IPv4) |
| TCP 连接 | 能否在该地址上建立到 80 / 443 端口的连接 | 服务没监听、防火墙未放行、地址不可达 |
| TLS 握手 | HTTPS 能否完成 TLS 协商与证书校验 | 证书未部署、证书与域名不匹配、协议版本不兼容 |
| HTTP 响应 | 服务实际返回了什么状态码 | 应用层错误、重定向、服务异常 |
「检测失败」这个说法本身没有信息量。有用的是:它停在了第几步。停在 DNS 是记录问题,停在 TCP 是网络或监听问题,停在 TLS 是证书问题 —— 三者的修复动作完全不同。
二、怎么发起一次检测
在 网站 IPv6 检测 页面(或首页的「检测网站 IPv6」面板)输入域名或完整网址,点「测试一下」。
- 输入框接受
www.example.com这样的域名,也接受https://www.example.com/path这样的完整网址,上限 2048 字符。 - 也可以直接把带参数的地址发给别人:
/check?target=你的域名会预填并自动开始检测。 - 检测页提供了「重新检测」「复制结果」「导出报告」「生成分享快照」四个动作。导出会得到一份纯文本报告(文件名形如
IPv6检测报告_域名.txt),适合贴进工单或邮件。
**提交前请留意:**提交后 IPv6Hub 的服务器会真实访问这个目标,请勿提交含敏感路径的地址。
三、先选模式:宽松还是严格
同一个页面提供两种检测模式,它们回答的是不同的问题:
| 模式 | 做的事 | 适用场景 |
|---|---|---|
| 宽松模式 | 仅测 TCP 端口连通 | 快速判断「这台服务器在 IPv6 上有没有监听」 |
| 严格模式 | 真实发起 HTTP(S) 访问(含 TLS 校验) | 判断「用户拿浏览器能不能真的打开」 |
两者的差别会体现在结论用词上。宽松模式下,IPv6 的 HTTPS 结论是「该域名 IPv6 HTTPS 端口连通」—— 它只说明端口开着,不代表握手能成功、更不代表页面能打开。严格模式才会给出「支持 IPv6 HTTPS 访问」这样的结论。
如果你要下的是「网站支持 IPv6」这种对外结论,必须用严格模式。
四、报告怎么读:从结论横幅到分层表
阶段流水线
报告里每个目标有两行,分别是 IPv4 与 IPv6。严格模式下每行的步骤是:
DNS → TCP 80 → TCP 443 → TLS → HTTPS 可达
宽松模式下的最后一步是「端口连通结论」。每一步都可带备注,例如 2 条(解析到几条记录)、无记录、23ms(耗时)、HTTP 200(返回状态码)、未执行(检测超时)。
流水线的灰色步骤表示该阶段在当前模式下不执行:严格模式已执行 TLS 校验,宽松模式仅测端口连通、不做 TLS 握手。
分层检测报告
这是一张双栈对照表,一眼能看出差异出在哪一列:
| 检测项目 | IPv4 环境 | IPv6 环境 |
|---|---|---|
| 域名解析(DNS) | 支持 / 不支持 | 支持 / 不支持 |
| 网站 HTTP 访问 | 支持 / 不支持 / 端口连通 | 同左 |
| 网站 HTTPS 访问 | 支持 / 不支持 / 端口连通 | 同左 |
| 本站解析器 | 可用(解析器名)/ 不可用 | 同左 |
同一张表里可能出现的情形,恰好对应几种典型故障:
- IPv4 全绿、IPv6 第一步就「不支持」 —— 域名没有 AAAA 记录,去 DNS 查询 确认。
- IPv6 解析正常、TCP 失败 —— 有地址但连不上:服务没在 v6 上监听,或防火墙没放行来源为 IPv6 的流量。
- IPv6 能连接、TLS 握手失败 —— 证书问题。用 SSL 证书检查 看具体原因,常见的是证书只部署在 v4 站点、或证书里没有该域名。
- IPv6 各层都通、但返回状态码异常 —— 应用层的问题,和 IPv6 本身无关。
五、几个必须知道的口径
「未执行(检测超时)」不是「不支持」
总时限内没跑完的阶段会被明确标成 未执行(检测超时),它既不算失败,也不算不支持。看到这一项时正确的动作是重试,而不是去改服务器配置。把它当成「不支持」是解读检测报告时最常见的错误。
一次检测可能包含两个目标
只要你输入的是纯域名(不带 ://、不带 / ? #),系统会对称扩展「裸域 ↔ www」作为两个目标一起检测,目标会标注为「输入目标」和「www 扩展目标」。
这样做是因为现实中两者经常不一致:example.com 配了 AAAA 而 www.example.com 没配,或者反过来。如果两个目标的解析结果完全一致,报告会合并展示并提示「与主目标解析结果一致,已合并展示(不重复探测)」。
如果你输入的是完整网址,则只检测那一个目标 —— 因为路径和协议本身就是检测对象的一部分。
结论是站点级的,不是入口级的
报告的顶层结论是站点级的:任一入口(裸域或 www)可达,就认为该协议族可用,等级取最好的那个。所以「站点支持 IPv6」和「这个具体域名支持 IPv6」是两个不同的判断 —— 报告里会按目标分别列出,需要区分时看目标级的那一行。
六、关于结论边界
- 本站检测。 结果由 IPv6Hub 部署的服务器发起,代表「从本站出发能否到达」。本站可达不等于全球可达,也不代表页面里的第三方资源(CDN、统计脚本、图片)都支持 IPv6。
- 不代表页面全部资源可用。 检测覆盖的是主文档的四个阶段,页面内引用的第三方域名不在检测范围内。
- 严格模式会真实发起访问。 这一点再强调一次,因为它涉及对方服务器的日志与流量。
想把结论发给别人复核,用「生成分享快照」得到一个只读链接;快照页会同时写明「这是本站检测的定格快照,仅代表检测时刻的状态」。
七、下一步
- 检测结果显示 IPv6 不支持,想知道怎么改:读《让网站支持 IPv6:从 DNS 到服务器的完整清单》。
- 想在检测前先确认自己这条线路能不能上 IPv6:回首页看「我的网络」面板。
- 不确定该用哪种方法、结论能信到几分:读《如何正确检测 IPv6:方法、工具与结论边界》。
- 想了解本站全部功能:读《IPv6 在线工具总览》。