昨天发文章被本地宽带商DNS挟持,后来改用Google提供的DNS8.8.8.8 和8.8.8.4
今晚打开QQ空间QQzone发现无法访问,一直卡在读取 imgcache.qq.com,
于是ping imgcache.qq.com
Pinging wac.edgecastcdn.net [72.21.91.20] with 32 bytes of data:
Request timed out.
回想起昨天使用了 google 提供的DNS,真相大白了。
原来因为使用美国的dns,所以腾讯分配域名解释到外国服务器。
使用opendns故障也是如此,被一些国内网站误以为是国外访客,结果分配一个遥远的服务器给你,于是打开Qzone很慢很慢甚至打不开。
QQ很多服务都是选用CDN镜像,比如QQ空间、QQ邮箱等,遇到打不开或很慢都属于此问题。
面对国内很多大型网站都会去使用cdn 优化镜像,在国内使用Google 或外国的DNS是不可行。
那怎么避免于CDN冲突,又免被可恶的DNS挟持呢。有两方法:
1、使用比优质的dns ip。 比如香港 澳门的
2、使用本机hosts自行强制将域名解释指定国内IP
针对上面两个方案
我改用香港DNS
202.181.202.140
205.252.144.228
更换后打开Qzone发现已经快了不少。
Pinging imgcache.tc.qq.com [123.129.251.162] with 32 bytes of data:
Reply from 123.129.251.162: bytes=32 time=34ms TTL=55
终于搞定。
另:如还想使用Google DNS,又想打开QQ空间可以用修改:
你的windows目录\system32\drivers\etc\hosts 加入以下即可
123.129.251.162 imgcache.qq.com # gdns bug-fix
如其它网友有更好的DNS,可以留言告诉我。