防盗链

     又拍云的防盗链可以分为IP禁用、地区访问限制、回源鉴权、域名防盗链、客户端白名单以及Token防盗链。

  一、IP禁用可以针对一个IP或者一个网段的访问,在这里要注意的是这个IP指的是公网的访问IP,一开始我用公司局域网本地的IP来测试,怎么也无法实现禁用的功能。禁用IP最多能支持100条,如果已经被禁用了,再去访问会显示403的错误。在这里我禁用公网IP后,用curl命令用http://livezt.flv.upcdn.net/live/zhutao.flv进行拉流,如下图

防盗链_第1张图片

IP禁用之后用SrsPlayer拉流也无法播放了。

防盗链_第2张图片

注意的是:又拍云目前只能支持HTTP-FLV和HLS的协议,暂不支持RTMP。

二、地区访问限制

当用户访问到又拍云的边缘节点时,又拍云会根据用户的IP判断用户所在的位置,所属的服务器和运营商。应用场景:比如客户的一些视频在不同地方有相应的版权才能播放,这里就可以设置分地区限制IP的访问了。

防盗链_第3张图片

三、回源鉴权

这个功能指的是当有用户向我们发出请求,会有一台鉴权的服务器对该请求进行判断是否合格,当通过验证之后才能准确访问到我们的CDN。该方式适用于对防盗链实时要求性很高的场景,由于我目前没有具体的客户端鉴权服务器的配置,所以没办法进行测试。

四、域名防盗链

域名防盗链也就是Referer防盗链,首先判断Referer是否为空,并且可以将Referer加入我们的白名单或者黑名单。Referer是Head的一部分,告知服务器是从哪个链接哪里来的,从而我们可以做一些统计之类的。

一开始我理解有误,将拉流域名添加到了白名单,结果出现错误403。

防盗链_第4张图片

正确的做法是将www.sina.com添加进白名单,将www.sina.com的域名作为Referer传递过来,用curl测试如下:

防盗链_第5张图片

五、客户端白名单

客户端白名单也就是User-Agent,如何判断自己的客户端的User-Agent,可以通过http://www.useragentstring.com/链接查看,在配置中添加User-Agent信息可以不用精确匹配,只要有相对应的Windows或Android或IOS即可实现。

防盗链_第6张图片

上面的截图可以看出添加进白名单后,如果不带User-Agent头访问的话,会返回403的错误,请求被拒绝。

六、Token防盗链

Token防盗链重点是MD5加密,我们在推流端可以设置有效时间和截止时间,在拉流端设置有效时间,对应的加密方式也有所不同,具体的在文档中有提到。值得注意的是推流端只支持RTMP,拉流端支持HTTP-FLV和HLS,暂不支持RTMP。

你可能感兴趣的:(防盗链)