云服务器内容精选

  • 鉴权方式D 鉴权方式D主要通过Key、timestamp和StreamName计算鉴权串。 鉴权URL格式 原始URL?hwSecret=hmac_sha256(Key, StreamName + hwTime)&hwTime=hex(timestamp) 表5 鉴权字段描述 字段 描述 hwTime 播放URL的有效时间,为Unix时间戳的十六进制结果。 如果当前hwTime+时长的值大于当前请求的时间则可以正常播放,否则播放会被后台拒绝。 示例:5eed5888(即2020.06.20 08:30:00) Key 在控制台设置的防盗链Key值,具体请参见开启Key防盗链。 hwSecret URL中的加密参数。 以Key和StreamName+hwTime为参数进行HMAC-SHA256加密算法得出。 hwSecret = hmac_sha256(Key, StreamName + hwTime) 时长 鉴权URL的有效时间长度。 若hwTime设置为当前时间,有效时间设置为1249s,则播放URL过期时间为当前时间+ 1249s。 鉴权URL示例 标准直播场景 以生成播放鉴权地址为例,推流鉴权地址的生成与播放鉴权地址的生成同理。 原始URL:http://test-play.example.com/livetest/huawei1.flv Key:GCTbw44s6MPLh4GqgDpnfuFHgy25Enly StreamName:huawei1 hwTime:5eed5888 时长:1249s 根据计算公式,得到hwSecret。 hwSecret = hmac_sha256(GCTbw44s6MPLh4GqgDpnfuFHgy25Enly, huawei15eed5888) = ce201856a0957413319e883c8ccae13602f01d3d91e21daf5161964cf708a6a8 则鉴权播放地址为: http://test-play.example.com/livetest/huawei1.flv?hwSecret=ce201856a0957413319e883c8ccae13602f01d3d91e21daf5161964cf708a6a8&hwTime=5eed5888
  • 鉴权方式B 鉴权方式B主要通过Key、timestamp和StreamName计算鉴权串。 鉴权URL格式 原始URL?txSecret=md5(Key + StreamName + txTime)&txTime=hex(timestamp) 表3 鉴权字段描述 字段 描述 txTime 播放URL的有效时间,为Unix时间戳的十六进制结果。 如果当前txTime的值大于当前请求的时间则可以正常播放,否则播放会被后台拒绝。 示例:5eed5888(即2020.06.20 08:30:00) Key 在控制台设置的防盗链Key值,具体请参见开启Key防盗链。 txSecret URL中的加密参数。 通过将key,StreamName,txTime依次拼接的字符串进行MD5加密算法得出。 txSecret = md5(Key + StreamName + txTime) 时长 鉴权URL的有效时间长度。 若txTime设置为当前时间,有效时间设置为1249s,则播放URL过期时间为当前时间+ 1249s。 鉴权URL示例 标准直播场景 以生成播放鉴权地址为例,推流鉴权地址的生成与播放鉴权地址的生成同理。 原始URL:http://test-play.example.com/livetest/huawei1.flv Key:GCTbw44s6MPLh4GqgDpnfuFHgy25Enly StreamName:huawei1 txTime:5eed5888 时长:1249s 根据计算公式,得到txSecret。 txSecret = md5(GCTbw44s6MPLh4GqgDpnfuFHgy25Enlyhuawei15eed5888) = 5cdc845362c332a4ec3e09ac5d5571d6 则鉴权播放地址为: http://test-play.example.com/livetest/huawei1.flv?txSecret=5cdc845362c332a4ec3e09ac5d5571d6&txTime=5eed5888
  • 鉴权方式A 鉴权方式A主要通过Key、timestamp、rand(随机数)、uid(设置为0)和URL计算鉴权串。 鉴权URL格式 原始URL?auth_key={timestamp}-{rand}-{uid}-{md5hash} md5hash的计算公式: sstring = "{URI}-{Timestamp}-{rand}-{uid}-{Key}" HashValue = md5sum(sstring) 表2 鉴权字段描述 字段 描述 timestamp 用户定义的有效访问时间起始点,值为1970年1月1日以来的当前时间秒数 。十进制或者十六进制整数。 示例:1592639100(即2020-06-20 15:45) 时长 鉴权URL有效的时间长度。 若设置的有效时间为1800s,则用户可在从timestamp开始的1800s内允许访问直播地址。超出该区间,鉴权失败。 示例:若设置的访问时间为2020-6-30 00:00:00,则链接真正失效时间为2020-6-30 00:30:00。 rand 随机数,建议使用UUID,不能包含中划线"-"。 示例:477b3bbc253f467b8def6711128c7bec uid userID。暂未使用,直接设置成0即可。 md5hash 通过md5算法计算出来的验证串,数字0-9和小写英文字母a-z混合组成,固定长度32。 sstring = "{URI}-{Timestamp}-{rand}-{uid}-{Key}" HashValue = md5sum(sstring) URI 指原始URL中从域名后开始到最后的路径。 标准直播场景 示例:/livetest/huawei1.flv 低时延直播场景 示例:/livetest/huawei1.sdp Key 在控制台设置的防盗链Key值,具体请参见开启Key防盗链。 鉴权URL示例 标准直播场景 以生成播放鉴权地址为例,推流鉴权地址的生成与播放鉴权地址的生成方法相同。 原始URL:http://test-play.example.com/livetest/huawei1.flv timestamp:1592639100 时长:1800s Key:GCTbw44s6MPLh4GqgDpnfuFHgy25Enly rand:477b3bbc253f467b8def6711128c7bec uid:0 URI:/livetest/huawei1.flv 根据计算公式,得到md5hash。 HashValue = md5sum("/livetest/huawei1.flv-1592639100-477b3bbc253f467b8def6711128c7bec-0-GCTbw44s6MPLh4GqgDpnfuFHgy25Enly") = dd1b5ffa00cf26acec0c169ae1cfabea 则鉴权播放地址为: http://test-play.example.com/livetest/huawei1.flv?auth_key=1592639100-477b3bbc253f467b8def6711128c7bec-0-dd1b5ffa00cf26acec0c169ae1cfabea
  • 注意事项 该功能为可选项,默认不启用。启用该功能后,原始直播加速URL将无法使用,需要按规则生成合法的防盗链URL。 建议推流与播放鉴权使用不同的Key值,以增强安全性。若防盗链URL过期,或者签名不能通过,直播流将播放失败,并返回“403 Forbidden”信息。 使用HLS鉴权播放时,如果鉴权参数过期,二级CNAME地址仍可继续播放。如需二级CNAME也遵循鉴权过期时,返回“403 Forbidden”,需要提交工单,联系技术支持进行后台配置后生效。 针对RTMP、FLV这类长连接业务,只有服务端收到用户请求时,才进行防盗链参数校验,校验通过后可以持续播放。 针对HLS这类业务,用户播放后会携带相同的防盗链参数,持续发起请求。一旦防盗链参数过期,服务端便会因校验不通过,而拒绝访问,导致播放中断。 所以建议这类业务,适当调整鉴权过期时间,避免因时间过短,而中途就播放失败。示例:如果预估HLS播放时长每次都在1小时以内,可设置过期时间为3600秒。
  • 概述 视频直播服务为您提供了Referer防盗链、Key防盗链和IP黑白名单鉴权机制,对访问者的身份进行识别和过滤,符合规则的才可使用直播服务。 其中,Key防盗链鉴权功能旨在保护直播源站资源不被非法下载盗用。采用Referer防盗链方法添加Referer黑、白名单方式可以解决部分盗链问题。但是,由于Referer内容可以伪造,所以Referer防盗链方式不能很好的保护直播源站的资源。因此,建议采用Key防盗链鉴权方式保护直播源站资源更为安全有效。视频直播服务鉴权机制如表1所示。 表1 直播鉴权 项目 描述 配置 Referer防盗链 您可以配置访问的Referer黑白名单,对访问者身份进行识别和过滤。 请参见Referer防盗链。 Key防盗链 您可以配置防盗链Key,通过URL鉴权方式保障直播资源的安全。 请参见Key防盗链。 IP黑白名单 您可以配置访问的IP黑白名单,对访问者身份进行识别和过滤。 请参见IP黑白名单。 父主题: 播放鉴权
  • 鉴权方式D 鉴权方式D主要通过Key、timestamp和StreamName计算鉴权串。 鉴权URL格式 原始URL?hwSecret=hmac_sha256(Key, StreamName + hwTime)&hwTime=hex(timestamp) 表5 鉴权字段描述 字段 描述 hwTime 播放URL的有效时间,为Unix时间戳的十六进制结果。 如果当前hwTime+时长的值大于当前请求的时间则可以正常播放,否则播放会被后台拒绝。 示例:5eed5888(即2020.06.20 08:30:00) Key 在控制台设置的防盗链Key值,具体请参见开启Key防盗链。 hwSecret URL中的加密参数。 以Key和StreamName+hwTime为参数进行HMAC-SHA256加密算法得出。 hwSecret = hmac_sha256(Key, StreamName + hwTime) 时长 鉴权URL的有效时间长度。 若hwTime设置为当前时间,有效时间设置为1249s,则播放URL过期时间为当前时间+ 1249s。 鉴权URL示例 以生成播放鉴权地址为例,推流鉴权地址的生成与播放鉴权地址的生成同理。 原始URL:webrtc://test-play.example.com/livetest/huawei1 Key:GCTbw44s6MPLh4GqgDpnfuFHgy25Enly StreamName:huawei1 hwTime:5eed5888 时长:1249s 根据计算公式,得到hwSecret。 hwSecret = hmac_sha256(GCTbw44s6MPLh4GqgDpnfuFHgy25Enly, huawei15eed5888) = ce201856a0957413319e883c8ccae13602f01d3d91e21daf5161964cf708a6a8 则鉴权播放地址为: webrtc://test-play.example.com/livetest/huawei1?hwSecret=ce201856a0957413319e883c8ccae13602f01d3d91e21daf5161964cf708a6a8&hwTime=5eed5888
  • 鉴权方式A 鉴权方式A主要通过Key、timestamp、rand(随机数)、uid(设置为0)和URL计算鉴权串。 鉴权URL格式 原始URL?auth_key={timestamp}-{rand}-{uid}-{md5hash} md5hash的计算公式: sstring = "{URI}-{Timestamp}-{rand}-{uid}-{Key}" HashValue = md5sum(sstring) 表2 鉴权字段描述 字段 描述 timestamp 用户定义的有效访问时间起始点,值为1970年1月1日以来的当前时间秒数 。十进制或者十六进制整数。 示例:1592639100(即2020-06-20 15:45) 时长 鉴权URL有效的时间长度。 若设置的有效时间为1800s,则用户可在从timestamp开始的1800s内允许访问直播地址。超出该区间,鉴权失败。 示例:若设置的访问时间为2020-6-30 00:00:00,则链接真正失效时间为2020-6-30 00:30:00。 rand 随机数,建议使用UUID,不能包含中划线"-"。 示例:477b3bbc253f467b8def6711128c7bec uid userID。暂未使用,直接设置成0即可。 md5hash 通过md5算法计算出来的验证串,数字0-9和小写英文字母a-z混合组成,固定长度32。 sstring = "{URI}-{Timestamp}-{rand}-{uid}-{Key}" HashValue = md5sum(sstring) URI 指原始URL中从域名后开始到最后的路径。 示例:/livetest/huawei1.sdp Key 在控制台设置的防盗链Key值,具体请参见开启Key防盗链。 鉴权URL示例 以生成播放鉴权地址为例,推流鉴权地址的生成与播放鉴权地址的生成方法相同。 原始URL:webrtc//test-play.example.com/livetest/huawei1 timestamp:1592639100 时长:1800s Key:GCTbw44s6MPLh4GqgDpnfuFHgy25Enly rand:477b3bbc253f467b8def6711128c7bec uid:0 URI:/livetest/huawei1.sdp 根据计算公式,得到md5hash。 HashValue = md5sum("/livetest/huawei1.sdp-1592639100-477b3bbc253f467b8def6711128c7bec-0-GCTbw44s6MPLh4GqgDpnfuFHgy25Enly") = dd1b5ffa00cf26acec0c169ae1cfabea 则鉴权播放地址为: webrtc://test-play.example.com/livetest/huawei1?auth_key=1592639100-477b3bbc253f467b8def6711128c7bec-0-dd1b5ffa00cf26acec0c169ae1cfabea
  • 鉴权方式B 鉴权方式B主要通过Key、timestamp和StreamName计算鉴权串。 鉴权URL格式 原始URL?txSecret=md5(Key + StreamName + txTime)&txTime=hex(timestamp) 表3 鉴权字段描述 字段 描述 txTime 播放URL的有效时间,为Unix时间戳的十六进制结果。 如果当前txTime的值大于当前请求的时间则可以正常播放,否则播放会被后台拒绝。 示例:5eed5888(即2020.06.20 08:30:00) Key 在控制台设置的防盗链Key值,具体请参见开启Key防盗链。 txSecret URL中的加密参数。 通过将key,StreamName,txTime依次拼接的字符串进行MD5加密算法得出。 txSecret = md5(Key + StreamName + txTime) 时长 鉴权URL的有效时间长度。 若txTime设置为当前时间,有效时间设置为1249s,则播放URL过期时间为当前时间+ 1249s。 鉴权URL示例 以生成播放鉴权地址为例,推流鉴权地址的生成与播放鉴权地址的生成同理。 原始URL:webrtc://test-play.example.com/livetest/huawei1 Key:GCTbw44s6MPLh4GqgDpnfuFHgy25Enly StreamName:huawei1 txTime:5eed5888 时长:1249s 根据计算公式,得到txSecret。 txSecret = md5(GCTbw44s6MPLh4GqgDpnfuFHgy25Enlyhuawei15eed5888) = 5cdc845362c332a4ec3e09ac5d5571d6 则鉴权播放地址为: webrtc://test-play.example.com/livetest/huawei1?txSecret=5cdc845362c332a4ec3e09ac5d5571d6&txTime=5eed5888