1
shansing 2020-01-25 19:18:12 +08:00 2
不是不完善,而是逻辑不一样。个人认为 ipv6.baidu.com 本来就不是一个专业检测工具,它的逻辑是如果检测不到 IPv6 就返回提示给用户,而不是像 ipv6.google.com 那样干脆无法访问。考虑到网民的素养,这可以理解。于是 ipv6.baidu.com 在 AAAA 记录之外也同时设置了 A 记录,然后就会造成你说的情况。但这没办法调和,去掉 A 记录就没办法在 IPv4 环境下给用户有效提示。只能认为你的专业度已经超过一般网民。
|
2
shansing 2020-01-25 19:21:50 +08:00
@shansing PS:当然也可以干脆只给 A 记录。然后在上面用脚本检测 IPv6 连通情况。但这偏离了 ipv6. 作为一个完整业务域名的初衷。它就不是一个专门检测工具——假设用户环境支持 IPv6,那么应该出现正常的百度搜索界面。
|
4
flyfishcn 2020-01-25 21:40:56 +08:00 via iPhone 1
其实只是百度用了一个非常投机取巧的方法部署这个 ipv6.baidu.com 而已。这其实并不是一个正确的双栈站点部署方法。
百度的这个 ipv6.baidu.com 的 v4 和 v6 其实是两组独立的站点,即 A 记录对应的服务器和 AAAA 记录对应的是两组独立的服务器,A 记录的服务器不管你有没有 v6 地址,永远会显示在那个你没有 v6 地址无法访问的页面。而 AAAA 记录对应的服务器,也不是真正采用原生 ipv6 方式部署的,而且通过反向代理,在反向代理服务器上增加 v6 地址,达到可以在 v6 环境下被访问的。 最简单的测试方法就是你禁用 ipv4 之后,以 ipv6-only 的方式访问,然后在搜索框输入“ip”,你会发现出来的是一个北京海淀区的百度 ip,就是那个反向代理的地址。 可见百度不是从程序角度上去实现检测访客是不是有 ipv6 地址的。所以如果你是双栈用户,即使你真的有一个路由可达的 ipv6 地址,但由于你的系统优先了 A 记录的解析,也会显示那个没有 v6 地址无法访问的页面。 |