云服务器内容精选

  • 加密算法C 鉴权URL格式 https://{cdn_domain}/{md5hash}/{time_hex}/asset/{asset_id}/{file_name} md5hash的计算公式: md5hash = md5({private_key}/asset/{asset_id}/{file_name}{time_hex}) 表4 鉴权字段描述 字段 描述 file_name 指原始播放URL中从媒资ID后开始到最后的路径。 示例:play_video/test.mp4 time_hex 鉴权URL生成时间,为Unix时间戳的十六进制结果。 示例:hex(1564987530)=5D47D08A private_key 在控制台设置的防盗链Key值,具体请参见配置步骤。 鉴权URL示例 原始URL:http://1.cdn.myhuaweicloud.com/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp4 private_key:myPrivateKey time_hex:hex(timestamp) = hex(1547123166) = 5C3739DE file_name:test.mp4 则根据计算公式,得到md5sum md5hash=md5(myPrivateKey/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp45C3739DE) = afa20c956043fe6d130b16f2704ac870 最终得到算法C的鉴权URL http://1.cdn.myhuaweicloud.com/afa20c956043fe6d130b16f2704ac870/5C3739DE/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp4
  • 加密算法D 鉴权URL格式 原始URL?auth_info={加密串}.{EncodedIV} 加密串和EncodedIV的计算公式: 加密原始串 = url_encoding({path}+"$"+{Timestamp}) 加密串 = aes_cbc_128_pkcs5padding(原始加密串,key,IV) EncodedIV = hex(IV) 表5 鉴权字段描述 字段 描述 path 指从 域名 开始,到最后一层目录,包括域名后的“/”,也包含最后一层目录后的“/”,不包括文件名。 示例:/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/ Timestamp 鉴权URL生成时间,UTC时间,格式为yyyyMMddHHmmss,用于检查鉴权参数是否过期。 示例:20190805101025 key 在控制台设置的防盗链Key值,具体请参见配置步骤。 IV 随机生成的bytes数组,长度为16。 hex():将bytes数组转换成十六进制的字符串。 生成IV生成示例代码如下所示: byte[] iv = new byte[16]; SecureRandom secureRand = new SecureRandom(); secureRand.nextBytes(iv); 鉴权URL示例 原始URL:https://179.cdn-vod.huaweicloud.com/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/index.m3u8 path:/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/ key:8Ks1qn14XRO28qOa Timestamp:20190805102430 则根据计算公式,得到加密串和EncodedIV 原始加密串 = url_encoding("/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/") + "$" + "20190805102430" 加密串 = aes_cbc_128_pkcs5padding(原始加密串,key,IV) = 34M%2F6KtYgxuAozdBLIVTe0dUVAZdvXsYQoYAnDmuhRHh1hshYg%2B2Tl0AmSwySDh%2BmkER44qYKpSP%2BgfsLM%2FIZe4F6K4n1Nx6ouGwyKfqdDA%3D EncodedIV = hex(IV) = 79436d453636364e335941713330534e 最终得到算法D的鉴权URL https://179.cdn-vod.huaweicloud.com/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/index.m3u8?auth_info=34M%2F6KtYgxuAozdBLIVTe0dUVAZdvXsYQoYAnDmuhRHh1hshYg%2B2Tl0AmSwySDh%2BmkER44qYKpSP%2BgfsLM%2FIZe4F6K4n1Nx6ouGwyKfqdDA%3D.79436d453636364e335941713330534e
  • 加密算法E 鉴权URL格式 原始URL?auth_key={authKey}×tamp={timestamp}&exper={exper} authKey的计算公式如下所示: 开启试看功能:auth_key = sha256({PrivateKey }{fileName}{timestamp}{exper} 表6 鉴权字段描述 字段 描述 timestamp 鉴权URL生成时间,为Unix时间戳,即1970年1月1日以来的秒数。单位:秒。 示例:1564731935。即时间为:2019.08.02 15:45。 fileName 实际回源访问的URL,鉴权时filename需以“/”开头,且不能包含鉴权URL中“?”后面的参数。 如:/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.hls PrivateKey 用户设定的鉴权密钥,用于生成加密URL。 密钥的格式为大小写字母和数字,长度为16到32位字符。 exper(可选) 视频试看时长,取值为数字,单位:秒。仅支持MP4和HLS格式。 需要试看时,才配置此参数,否则不需要此参数参与鉴权URL的计算。 鉴权URL示例 原始URL:http://1.cdn.myhuaweicloud.com/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.hls private_key:32d6b2d740f10b86 timestamp:1547123166 fileName:/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.hls exper:300 则根据计算公式,得到auth_key,如下所示: 开启试看功能 auth_key = sha256(32d6b2d740f10b86/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.hls1547123166300) = 3a935cf1d8299fe63ec8d4e0afb5ef3304883a702a4e760f3c5ae838a4b69768 最终得到算法E的鉴权URL,如下所示: 支持试看功能 http://1.cdn.myhuaweicloud.com/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.hls?auth_key=3a935cf1d8299fe63ec8d4e0afb5ef3304883a702a4e760f3c5ae838a4b69768×tamp=1547123166&exper=300
  • 加密算法A 鉴权URL格式 原始URL?auth_key={timestamp}-{rand}-{uid}-{auth_key} auth_key的计算公式: auth_key = MD5(/asset/{assetId}/{file_name}-{timestamp}-{rand}-{uid}-{private_key}) 表2 鉴权字段描述 字段 描述 timestamp 鉴权URL生成时间,为Unix时间戳,1970年1月1日以来的秒数。 示例:1564731935(即2019.08.02 15:45) rand 随机数,建议使用UUID方式生成,不能包含中划线”-“。 示例:f03cbe7c4a3849bc8d8769e3110e4533 uid 暂未使用,直接设置成0即可。 private_key 在控制台设置的防盗链Key值,具体请参见配置步骤。
  • 实现原理 Referer防盗链的实现原理比较简单,在点播控制台配置了白名单或黑名单后,点播服务会将这份名单分发到CDN中。当CDN接收到资源请求时,会根据这个名单来识别请求是否合法,若合法,则访问请求的资源,否则拒绝并返回403。 Key防盗链是 视频点播 的加速节点与点播源站联合实现的,比Referer防盗链更为安全可靠的一种防盗播方案。Key防盗链的实现过程如图1所示。 图1 Key防盗链实现原理 流程说明如下所示: 租户在点播控制台开启Key防盗链功能,并配置误差允许时间、算法等。 点播服务将配置的密钥值等下发到CDN节点中。 租户通过点播服务获取到点播媒资的鉴权URL。 观众通过租户提供的鉴权播放URL向CDN请求视频播放。 CDN根据播放URL中携带的鉴权信息校验请求的合法性,仅校验通过的请求会被允许。
  • 加密算法B 鉴权URL格式 https://{cdn_domain}/{date_YYYYmmddHHMM}/{md5sum}/asset/{asset_id}/{file_name} md5sum的计算公式: md5sum = md5({private_key}{date_yyyyMMddHHmm}/asset/{asset_id}/{file_name}) 表3 鉴权字段描述 字段 描述 date_yyyyMMddHHmm 鉴权URL生成时间,格式为:yyyyMMddHHmm。 示例:201908051445 file_name 指原始播放URL中从媒资ID后开始到最后的路径。 示例:play_video/test.mp4 private_key 在控制台设置的防盗链Key值,具体请参见配置步骤。 鉴权URL示例 原始URL:http://1.cdn.myhuaweicloud.com/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp4 private_key:myPrivateKey date_yyyyMMddHHmm:201901102026 file_name:test.mp4 则根据计算公式,得到md5sum md5sum = md5(myPrivateKey201901102026/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp4) = 713ef643de8df076da6ec3c0545968cb 最终得到算法B的鉴权URL http://1.cdn.myhuaweicloud.com/201901102026/713ef643de8df076da6ec3c0545968cb/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp4
  • 注意事项 该功能为可选项,默认不启用。 Referer黑名单与Referer白名单互斥,不支持同时设置。 黑名单或白名单中的域名最多支持4级域名,且最多支持配置100条。 黑名单或白名单中配置的域名前不能带协议名,域名为前缀匹配。如填写“example.example01.com”,则“example.example01.com/123”和“example.example01.com.cn”也会匹配成功。
  • 配置步骤 登录视频点播控制台。 在左侧导航栏中,选择“域名管理”,进入域名管理界面。 单击域名右侧“配置”,选择“防盗链配置”页签。 单击“Referer防盗链”,弹出配置Referer防盗链页面。 单击“开关”。配置Referer防盗链参数,如图1 Referer防盗链配置信息所示。 当前Referer防盗链配置不支持带端口。 图1 Referer防盗链配置 防盗链配置及对应访问权限说明如表1所示。 表1 参数说明 参数 说明 类型 支持黑名单和白名单模式。 Referer黑名单:允许非名单内的域名请求访问媒资,拒绝名单中的域名请求访问。 Referer白名单:允许名单内的域名请求访问点播媒资,拒绝其它域名请求访问。 包含空Referer是指HTTP请求Header中的Referer内容为空,或者无Referer。根据选择的黑名单或白名单,勾选“包含空Referer”的效果是不同的。 黑名单模式:勾选“包含空Referer”表示若请求中的Referer为空,则拒绝该请求,否则允许。 白名单模式:勾选“包含空Referer”表示若请求中的Referer为空,则允许该请求,否则拒绝。 规则 黑名单或白名单中的域名。 支持输入域名或IP地址,以英文“;”进行分割,域名、IP地址可混合输入,支持泛域名添加。输入的域名、IP地址总数不能超过100个。 示例如下: www.example.com;*.test.com;192.168.0.0 配置完成后,单击“确定”。 大约需要3-5分钟,Referer防盗链才生效。