You need to enable JavaScript to run this app.
导航
鉴权类型 TypeD 说明
最近更新时间:2024.05.14 17:08:15首次发布时间:2023.12.12 15:46:13

算法说明

请求 URL 构成

请求 URL 构成:http://DomainName/FileName?auth_key=md5hash&t=timestamp

说明

  • 请求 URL 中不能包含汉字。
  • 有效时间的最大值为:31536000秒。

鉴权字段说明

字段

描述

DomainName

全站加速的加速域名。

Filename

资源所在的相对路径,鉴权URL的 Filename 需以正斜线/开头。

auth_key

鉴权URL 中携带的鉴权信息参数名,默认为 auth_key。

timestamp

  • 鉴权URL被生成的时间。值是从UTC时间1970年01月01日00时00分00秒到当前时间的总秒数 ,是十进制或十六进制的整型正数,固定长度为10,与时区无关。
  • timestamp 将与在控制台配置的有效时间一起计算得出鉴权URL的失效时间。

md5hash

通过 MD5 算法计算出的固定长度为32位的字符串,由数字 0-9 和小写英文字母 a-z 混合组成。

  • 计算 md5hash 的具体公式为:md5hash = md5sum(pkeyuritimestamp)
    • pkey:鉴权KEY,由6 - 40位大小写字母、数字组成。密钥需要严格保密,仅客户端与服务端知晓。
    • uri:请求资源的相对地址,地址不包含参数,以正斜线/开头,如/Filename。
    • timestamp:取值为上述中的timestamp。
    • 公式中的鉴权参数之间无任何符号。

说明

TypeD的timestamp可以是十进制正整数,也可以是十六进制正整数

控制台配置

字段

描述

鉴权类型

全站加速支持四种鉴权类型:TypeA、TypeB、TypeC、TypeD。

鉴权KEY

  • 请输入大小写字母、数字。鉴权KEY长度为6 - 40位。
  • 密钥需要严格保密,仅客户端与服务端知晓。
  • 点击随机生成,控制台将自动为您生成鉴权KEY。
  • 在计算 md5hash 时,pkey表示鉴权KEY。

访问路径

请输入资源所在相对路径,以/开头,无需携带参数。

开始日期

  • 鉴权URL被生成的时间。
  • 在计算 md5hash时,开始日期将被转化为十六进制的Unix 时间戳timestamp

有效时间

  • 指鉴权URL的有效时间,单位是秒。
  • 有效时间默认为0秒,最大可输入31536000秒,即1年。
  • 如果您设置有效时间为 1800s,则用户可在从timestamp 开始的 1800s 内访问全站加速上的相关资源 。超出该有效时间后,全站加速将拒绝来自该鉴权URL的请求。

鉴权逻辑说明

收到来自鉴权URL的请求后,全站加速将解析出鉴权URL 中的 timestamp 参数 、鉴权 URL 有效时间。然后与当前时间比较。具体逻辑如下:

  • 如果 timestamp + 鉴权 URL 有效时间 < 当前时间,那么全站加速判定鉴权URL已过期,拒绝该请求并返回 403状态码。
  • 如果 timestamp + 鉴权 URL 有效时间 ≥ 当前时间,那么全站加速会使用 MD5 算法算出 md5hash 的值。
    • 如果全站加速基于鉴权参数计算得到的 md5hash 值与鉴权URL中的 md5hash 值相同,则鉴权成功,全站加速正常响应该请求。
    • 如果全站加速基于鉴权参数计算得到的 md5hash 值与鉴权URL中的 md5hash 值不同,则鉴权失败,全站加速拒绝响应该请求,并返回403状态码。

注意事项

  1. 回源策略:某加速域名开启了 URL鉴权 功能,鉴权类型为 TypeD。鉴权URL的格式为:http://DomainName/FileName?auth_key=md5hash&t=timestamp。鉴权成功后,如果未匹配上边缘节点的资源,边缘节点会向源站发起回源请求。回源时,系统将去除鉴权参数。回源URL的实际格式为:http://DomainName/Filename
  2. 缓存命中率:鉴权 URL 会携带鉴权参数。全站加速根据鉴权请求生成缓存键时,会自动忽略对应的鉴权参数,因此启用URL鉴权功能并不会影响边缘节点上的缓存资源被命中的概率。

说明

边缘节点根据鉴权请求生成缓存键时,会自动忽略URL中的鉴权参数,因此会影响鉴权范围内文件的缓存键。如果您配置了这部分文件的缓存键规则,此处忽略鉴权参数的优先级会高于相应的缓存键规则。

  • 如:某个加速域名开启了 URL鉴权 功能,鉴权类型为 TypeD。URL的鉴权参数名为auth_key ,鉴权文件为jpg,时间戳参数为timestamp。那么边缘节点根据这个鉴权URL请求生成缓存键时,对于jpg类型的资源,系统会自动忽略 “?”后的鉴权参数:?auth_key=md5hash&t=timestamp。即便此时您在缓存键规则中配置了:全部文件 - 不忽略参数。