You need to enable JavaScript to run this app.
导航

配置 B 类型

最近更新时间2023.12.06 14:01:07

首次发布时间2023.08.23 19:50:16

本文为您介绍视频点播中配置 URL 鉴权模块 B 类型的配置说明。

  • 客户端请求格式scheme://host/timestamp/md5(key + timestamp + uri)/uri(?query)
  • 客户端请求示例https://www.example.com/202105061700/2a76bb4719ab4beb77b4746b9c984a1d/product/cdn?query1=value1&query2=value2
  • 回源请求格式scheme://host/uri(?query)
  • 回源请求示例https://www.example.com/product/cdn?query1=value1&query2=value2

说明

MD5 值是 32 位的。

适用范围

URL 鉴权类型 B 配置适用于自定义源站加速域名。

操作步骤

  1. 登录视频点播控制台,进入空间。

  2. 选择左侧导航栏分发加速设置 > 域名管理,进入域名管理页面。

  3. 选择自定义源站加速域名页签,单击操作列的配置按钮。

  4. 进入自定义源站加速域名配置页面,选择访问控制页签。

  5. 单击页面下方的修改配置按钮。URL 鉴权默认关闭。您可以在 URL 鉴权下方,将状态设为开启,选择 B 类型,根据提示,完成参数配置。

    详细的参数说明如下所示。

    参数说明

    生效对象

    生效对象表示哪些文件的请求需要被鉴权。在设置对象时,您可以指定以下配置:

    • 文件后缀:表示满足指定后缀名匹配条件的文件请求需要被鉴权。匹配时区分大小写。指定的文件后缀可以包含英文字母和数字。需要遵循的规则如下:

      • 生效规则不能超过 1024 个字符。
      • 文件后缀规则支持填充多个,以 ; 分隔 如 jpg;png
      • 生效规则不能重复。
    • 文件目录:表示所有请求都需要被鉴权。

      说明

      当前,匹配条件只能是匹配,无法修改。

    主 Key指定一个主密钥,不支持纯空白字符。密钥由 6-40 个字符组成,只能包含除了 Delete(ASCII code 127)的可打印 ASCII 字符。
    备 Key指定一个备密钥,不支持纯空白字符。密钥的输入要求与主 Key 相同。

    有效时间

    指定签名的有效时间,默认的有效时间是 1800,单位是秒。该配置与客户端请求中的 timestamp 参数搭配使用,用来计算签名的过期时间。该参数的取值范围是 [0,315,360,000]。
    公式:签名的过期时间 = timestamp + 有效时间。在视频点播收到某个请求时,如果请求中包含的签名的过期时间早于当前时间,视频点播判定签名已过期。此时,视频点播返回 403 响应状态码,表示鉴权失败。

    时间格式YYYYMMDDHHMM

签名参数

客户端在计算签名时,需要的参数如下:

参数描述
key表示在视频点播控制台配置的密钥。可以使用主密钥或者备密钥。
uri表示请求的文件路径。路径以斜杠(/)开头,不包含域名。比如请求的完整路径为 https://www.example.com/image.png。则 uri 的值为 /image.png。如果路径包含中文字符,您需要对路径编码。
timestamp表示一个时间,格式是 YYYYMMDDHHMM。该参数与控制台中的 有效时间 配置搭配使用,用来计算签名的过期时间。示例:202202092011

请求示例

客户端请求

  • 带签名的 URLhttps://www.example.com/2202091133/542b6a3b47fbdd5bffd1a318a514e5b7/img/image.png

  • timestamp2022-02-09 11:33 GMT。对应 YYYYMMDDHHMM 格式的时间是 202202091133

鉴权参数

参数示例值
keyabc123def456
uri/img/image.png
timestamp202202091133
duration1800

鉴权逻辑

  1. 计算鉴权签名。

    1. 视频点播收到客户端的带签名请求后,计算签名。计算过程使用以下 B 类型的请求格式:scheme://host/timestamp/md5(key + timestamp + uri)/uri(?query)
      基于该请求格式,使用以下公式计算签名:md5(abc123def456202202091133/img/image.png)
      MD5 值在鉴权时会转化成小写进行比较。

    2. 视频点播将签名加入原始请求。得到的请求如下:
      https://www.example.com/2202091133/542b6a3b47fbdd5bffd1a318a514e5b7/img/image.png

  2. 验证请求合法性。

    1. 判断该请求和客户端请求是否一致。本示例中两者一致。
    2. 判断请求是否过期。假设视频点播收到请求的时间是 2022-02-09 11:40 GMT。该时间大于 2022-02-09 11:33 + 1800 秒。本示例中请求未过期。