URL鉴权
更新时间 2026-05-29 18:18:11
最近更新时间: 2026-05-29 18:18:11
本文简述URL鉴权的适用场景和配置方法。
功能介绍
为保障直播资源不被非法盗用,避免产生不必要的带宽浪费,您可以使用视频直播的URL鉴权功能,在主播推流或播放URL中加上鉴权信息。在主播请求直播推流或观众请求播放时,CDN会对其URL带的加密信息进行合法性判断,仅校验通过的请求会予以响应,其它非法的访问将予以拒绝,从而有效地保护直播资源。
适用场景
- 需要对站点资源限制用户访问,避免资源被恶意下载或者非法盗用。
- 请求的资源都具有一定的时效性,超过时效则不允许访问。
注意事项
- 配置URL鉴权需要客户端跟CDN配合一起开启。
- 如果您的鉴权URL中含有中文或特殊字符,需先进行URL转码(即Encode)后使用。
前提条件
- 客户提供用于计算加密串的key值。
- 客户与CDN计算规则、校验逻辑统一。
鉴权原理
访问URL构成示例:http://DomainName/AppName/StreamName?encrypt=xxx×tamp=xxx。视频直播服务器拿到请求后,会按照如下步骤进行校验:
- 是否携带鉴权参数。如果没有携带鉴权参数,认为请求非法,返回HTTP 403错误。
- 时间校验:判断系统当前时间是否在时间戳有效期内。超出有效期,认为过期失效并返回HTTP 403错误。
- 加密串校验:时间校验通过后,比对CDN服务器计算出来的md5hash值与访问请求中带的md5hash值是否相同,结果一致则认为鉴权通过并返回直播流,否则鉴权失败返回HTTP 403响应码。
- md5hash规则:MD5(uri&time&key)【注意:"&"仅用于区分标识演示用途,实际不加入鉴权组合内】
操作步骤
以推拉流场景下的拉流域名为例,操作步骤如下:
- 登录直播控制台。
- 在【域名列表】页面,单击目标域名操作列中的【编辑】。
- 单击【访问控制】。
- 单击【URL鉴权】。
- 单击URL鉴权开关进行启用。
- 配置URL鉴权参数。
- 配置完成后,单击【确定】。
- 单击页面右下方的【提交保存】。
配置示例
假设鉴权key为ctyuntest123、时间戳参数名为timestamp、加密串参数名为encrypt、时间戳类型为url生成时间、有效时长配置为600min、时间戳格式为年月日时分秒、鉴权范围为flv。
则鉴权URL生成示例如下:
- 原始url:http://DomainName/live/123.flv
- url生成时间:2024年3月19日15:00:00
- 鉴权key:ctyuntest123
- 时间戳参数名:timestamp
timestamp=20240319150000
- 加密串参数名:encrypt
encrypt=MD5(uri&time&key)=MD5(/live/123.flv20240319150000ctyuntest123)=f27fdb4f82f409e330803aa5896b111e
所以,携带鉴权参数的URL为:http://DomainName/live/123.flv?timestamp=20240319150000&encrypt=f27fdb4f82f409e330803aa5896b111e