算法说明
请求 URL 构成
请求 URL 构成:http://DomainName/md5hash/timestamp/FileName
说明
- 请求 URL 中不能包含汉字。
- 有效时间的最大值为:31536000秒。
鉴权字段说明
字段 | 描述 |
---|
DomainName | 全站加速的加速域名。 |
Filename | 资源所在的相对路径,鉴权URL的 Filename 需以正斜线/ 开头。 |
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。- 公式中的鉴权参数之间无任何符号。
|
说明
TypeC的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状态码。
注意事项
- 回源策略:某加速域名开启了 URL鉴权 功能,鉴权类型为
TypeC
。鉴权URL的格式为:http://DomainName/md5hash/timestamp/FileName
。鉴权成功后,如果未匹配上边缘节点的资源,边缘节点会向源站发起回源请求。回源时,系统将去除鉴权参数。回源URL的实际格式为:http://DomainName/Filename
。 - 缓存命中率:鉴权 URL 会携带鉴权参数。全站加速根据鉴权请求生成缓存键时,会自动忽略对应的鉴权参数,因此启用URL鉴权功能并不会影响边缘节点上的缓存资源被命中的概率。
说明
如:某个加速域名开启了 URL鉴权 功能,鉴权类型为 TypeC
。URL的时间戳鉴权参数为timestamp
,那么边缘节点根据这个鉴权URL请求生成缓存键时,系统会自动忽略时间戳及其他鉴权参数md5hash/timestamp
。