最近更新时间:2023.12.06 14:01:07
首次发布时间:2023.08.23 19:50:17
本文为您介绍视频点播中配置 URL 鉴权模块 E 类型的配置说明。
scheme://host/uri?sign=md5(<自定义计算规则>)&t=timestamp(&...)
https://www.example.com/product/cdn?sign=e954e253c33634b510443af72406600f&t=1620291453&query1=value1&query2=value2
scheme://host/uri?(&...)
https://www.example.com/product/cdn?query1=value1&query2=value2
说明
MD5 值是 32 位的。
URL 鉴权类型 E 配置适用于自定义源站加速域名。
登录视频点播控制台,进入空间。
选择左侧导航栏分发加速设置 > 域名管理,进入域名管理页面。
选择自定义源站加速域名页签,单击操作列的配置按钮。
进入自定义源站加速域名配置页面,选择访问控制页签。
单击页面下方的修改配置按钮。URL 鉴权默认关闭。您可以在 URL 鉴权下方,将状态设为开启,选择 E 类型,根据提示,完成参数配置。
参数 | 说明 |
---|---|
生效对象 | 生效对象表示哪些文件的请求需要被鉴权。您至少需要添加一个对象,最多可以添加 10 个生效对象。您需要指定多个对象之间的条件关系。或 这个条件关系表示匹配任何一个对象的请求就会被鉴权。且 表示只有匹配所有对象的请求才会被鉴权。在设置对象时,您可以指定以下配置:
|
主 KEY | 指定一个主密钥,不支持纯空白字符。密钥由 6-40 个字符组成,只能包含除了 Delete(ASCII code 127)的可打印 ASCII 字符。 |
备 KEY | 指定一个备密钥,不支持纯空白字符。密钥的输入要求与主 KEY 相同。 |
签名参数 | 指定请求的签名参数名称。默认的签名参数是
|
时间戳参数 | 指定请求的时间戳参数的名称。默认的签名参数是
|
有效时间 | 指定签名的有效时间,默认的有效时间是 |
时间格式 | 支持选择十进制(Unix 时间戳)、十六进制(Unix 时间戳)。 |
自定义签算变量 | 详见下方自定义用于签名计算变量。 |
计算规则 | 指定用以计算签名的参数。支持选择的规则详见下方计算规则。 |
在视频点播中,您可以添加自定义的变量用于签名计算。
说明
您最多可以添加 50 个变量。
您可以点击 新增规则 添加一个变量获取的规则。详细的参数说明如下所示。
参数 | 说明 |
---|---|
变量类型 | 指定变量的类型。该配置有以下取值:
|
取值方式 | 表示视频点播如何将参数取值与请求中的参数匹配。该配置的取值只支持精确匹配。 |
参数取值 | 表示需要额外参与签名计算的变量名称。变量名称不能超过 100 个字符。
|
操作 | 表示您可以对该规则进行删除的操作。 |
在您添加自定义变量后,该变量就会出现在 计算规则 列表中了。
相比其他鉴权类型使用固定的请求格式,E 类型允许您通过计算规则指定用以计算签名的参数。
您可以在计算规则中指定以下签名参数:
参数 | 说明 |
---|---|
uri | 必选参数。表示请求的文件路径。路径以斜杠(/)开头,不包含域名。比如请求的完整路径为 https://www.example.com/image.png 。则 uri 的值为 /image.png 。如果路径包含中文字符,您需要对路径编码。 |
密钥 | 必选参数。表示在视频点播控制台配置的密钥。可以使用主密钥或者备密钥。 |
时间戳参数 | 必选参数。表示一个时间。该参数与控制台中的 有效时间 配置搭配使用,用来计算签名的过期时间。根据控制台中的 时间格式 配置,时间格式使用十进制或十六进制的 Unix 时间戳。十进制 Unix 时间戳示例:1644406401 。 |
Referer | 可选参数。表示用户请求中 Referer 头部的值。 |
客户端域名 | 可选参数。表示请求的加速域名。 |
Origin | 可选参数。表示请求中 Origin 头部的值。 |
客户端IP | 可选参数。表示用户的 IP。 |
User-Agent | 可选参数。表示请求中 User-Agent 头部的值。 |
计算规则的配置步骤如下:
选择用于签名计算的参数。
通过拖拽调整参数的顺序。
说明
参数选择完成后,请点击页面任意空白处。在参数列表消失后,您才能拖拽调整签名参数的顺序。
签名计算使用的参数对应计算规则中指定的参数,并且按照参数的顺序来计算签名。
假设一个用户请求的请求头中,IP 是 49.7.47.128,referer 是 https://www.test.com/test.html。
生效对象:文件后缀名匹配 png;txt。
计算规则:计算规则中指定的参数和参数顺序如下:
https://www.example.com/img/image.png?sign=e5ea05458726271462fb180a813e3302&t=1644406401
1644406401
。根据计算规则中指定的参数和参数的顺序,以及控制台中的参数设置,鉴权参数如下:
参数 | 说明 |
---|---|
key | abc123def456 |
uri | /img/image.png |
ip | 49.7.47.128 |
referer | https://www.test.com/test.html |
timestamp | 1644406401 |
duration | 1800 |
判断请求的文件是否匹配生效对象的规则。如果匹配,则对该文件启用访问鉴权。
计算鉴权签名
视频点播收到客户端的带签名请求后,计算签名。根据计算规则中指定的参数和顺序,计算过程使用请求格式:
scheme://host/uri?sign=md5(key + ip + uri + referer + timestamp)&t=timestamp(&...)
基于该请求格式,使用以下公式计算签名:
md5(abc123def45649.7.47.128/img/image.pnghttps://www.test.com/test.html1644406401)
MD5 值在鉴权时会转化成小写进行比较。
视频点播将签名加入原始请求。得到的请求如下:https://www.example.com/img/image.png?sign=e5ea05458726271462fb180a813e3302&t=1644406401
验证请求合法性