新浪视频的Access Control真有意思

读背景资料先:)
我访问sina视频总是提示该视频不存在或者已经被删除。一开始觉得奇怪?大开杀戒了?
后来才发现,我用着电信的专线线路,却使用着学校教育网的DNS。
在FireBug里面看http://v.iask.com/crossdomain.xml 这个请求是红的,在浏览器里面手动输入,一直大不开。用nslookup一看。解析到该死的联通的CDN节点了。所以问题的实质是http://ihipop.info/2010/12/1937.html这文章所讲述的。我前面吧这个域名忘记了。
重新写了DNSMASQ的规则以后刷新网页,视频就能播放了。
这里写两个小发现。
首先说说这个crossdomain.xml 。

[xml]<?xml version="1.0"?>
<!-- http://v.iask.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
[/xml]

很明显,这个一个XML方式的ACL表。播放器从里面载入相关参数获取权限和视频信息。这个表下载失败,播放器就会认为这个视频不存在或者被删除了。
意外的还有一个发现,就是sina的视频流服务器也是用一个叫 lxdns.com 的CDN服务(起点中文网也是使用这家的CDN服务),对应的域名是flv.sina.lxdns.com,这个域名解析到不恰当的CDN节点会造成视频播放卡顿,缓慢,甚至无法播放~,其他视频网站同理。
对应的,那些国内门户也是把js和img分散在不同的服务器上,比如腾讯门户的是*.gtimg.com,163门户首页的部分js和img是*.126.net以及*.cache.netease.com,新浪门户的部分js和img是*.sinaimg.cn和*.sinajs.cn,如果你只是考虑他们主域名的“智能解析”,忽略掉这写非常重要的图片和js服务器,首页打开也会非常缓慢,因为DOM的载入是有顺序的,一处卡住,整体就被拖累了,虽然那些门户的程序员做了优化,但是在这样的大环境下,效果也不会太理想,即使勉强打开了,也会开天窗。
如果你使用autoddvpn autoddvpn和DNSMASQ的“智能选择解析”,别忘记了把这写作用重要的小域名写上,否则达不到最好效果。

面临的问题

问题是,现在autoddvpn的官方给出的方法里面,也没有提及这写小问题,所以后面我打算维护我使用的一列表,方便大家复用。理论上你可以把列表里面的google的DNS换成任何你适用的DNS。
[download id="24" format="2"]
[bash]#!/bin/bash
#Alex Top 100 Sites in China
#中国电信DNS b.center-dns.jsinfo.net
ispdns='221.228.255.1'
rm -rf result.txt >/dev/null 2>&1
for i in 0 1 2 3 4
curl -s "http://www.alexa.com/topsites/countries;$i/CN" | grep "small topsites-label" | \
sed -e "s#.*>\([^ ]*\)<.*#server=/\1/$ispdns#g" >>result.txt
done[/bash]

Author Info :
  • From:新浪视频的Access Control真有意思
  • URL:https://blog.ihipop.com/2010/12/1977.html
  • Please Reserve This Link,Thanks!
  • 《新浪视频的Access Control真有意思》上有9条评论

    1. 终于遇到一个详细的解释了~ 之前找老多相关资料的说~  

      还有 上面Dropbox里东西是不是被删了~  提示找不到~

    2. 能不能反过来呢?主DNS用国内的,然后特定的域名用Google的DNS解析。至于域名嘛,可以从g.fwlist 里提取。

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用 * 标注