跳转至

TypeB

为防止站点资源被非法下载盗用,可选择 TypeA、TypeB、TypeC、TypeD 中的一种。本文介绍 TypeB。

TypeB 后台升级中,暂不支持配置。接口里 typeB 保持 null。

算法说明

访问 URL 格式

http://DomainName/timestamp/md5hash/FileName

注意

  • 访问 URL 中不能包含中文。若 URL 含有中文,请提前做编码转换,计算签名时也使用编码后的路径。
  • 不支持原地址已带 ? 参数的 URL 鉴权。
  • expireTime 单位为秒,最大 630720000。

鉴权字段说明

字段 说明
timestamp UTC+8 时间,格式 YYYYMMDDHHMM,精确到分钟。如 202609231600。
md5hash authAlgorithm 为 md5 时 32 位,为 sha256 时 64 位,小写。md5hash = algorithm(secretKey + timestamp + uri),直接拼接。uri 以 / 开头。
secretKey 主密钥,6~32 位大小写字母或数字。
backupSecretKey 备密钥,规则同主密钥,可不填。主密钥不匹配时再用备密钥计算。

TypeB 没有 signParam、timeParam、timeFormat。

鉴权逻辑说明

节点把路径中的 timestamp 按 UTC+8 解析,与 expireTime、当前时间比较:

  • 该时间点加 expireTime 小于当前时间,返回 HTTP 403。
  • 未过期则用 secretKey 计算签名,与路径中的值比较。不一致时再用 backupSecretKey。仍不一致返回 HTTP 403。

配置指南

当前不能保存。参数与接口字段一致,供对照:

参数 示例
authAlgorithm md5
secretKey jUL9XKap9ZId7QjP
backupSecretKey AfNFx5YP2oivNdux
expireTime 7200
fileExtensions ["*"]
filterType whitelist

生成过程

参数 值
uri /test.jpg
timestamp 202609231600
secretKey jUL9XKap9ZId7QjP

拼接:jUL9XKap9ZId7QjP202609231600/test.jpg

md5hash = md5(...) = 5c764b572b311dc356d16de474cd2c19

鉴权 URL

http://cdn.example.com/202609231600/5c764b572b311dc356d16de474cd2c19/test.jpg

注意事项

缓存命中率

节点缓存时忽略路径中的 timestamp 和 md5hash。

回源策略

鉴权通过且未命中缓存时,回源去掉这两段路径。以上文为例,回源路径为 /test.jpg。