URL鉴权方式C
更新时间: 2025-04-08 10:49:28
http://DomainName/md5hash/timestamp/FileName
鉴权字段说明
字段 | 说明 |
---|---|
DomainName | CDN加速域名 |
FileName | 实际回源访问的URL,鉴权时Filename需以正斜线(/)开头。 |
timestamp | 服务端生成鉴权 URL 的时间,Unix时间戳,单位是秒 |
md5hash | 通过MD5算法计算出的32位字符串,由小写字母和数字组成, md5hash=md5sum(密钥+uri+timestamp) |
鉴权逻辑说明
CDN 服务器接受到客户请求后,解析出 url 中的 timestamp 参数 + 鉴权 URL 有效时长与当前时间比较。
如果 timestamp + 鉴权 URL 有效时长小于当前时间,则服务器判定过期失效,请求被阻拦,进入拦截日志。
如果 timestamp + 鉴权 URL 有效时长大于当前时间,则使用 MD5 算法算出 md5hash 的值,再比较计算出来的 md5hash 值与 url 中传入的 md5hash 值,如果一致则放过,不一致则返回HTTP 403错误。
当鉴权通过时,会去掉URL中与鉴权相关的那部分参数,可以提高缓存命中率,减少回源流量
示例说明
鉴权密钥 3nkRI6kop1j5nNcu
有效时间 86400 秒
1、请求地址:http://www.test.com/music/download/ewr.mp3
2、鉴权参数
uri /music/download/ewr.mp3
timestamp 1740704763
密钥 3nkRI6kop1j5nNcu
计算md5: md5hash=md5sum(密钥+uri+timestamp)=md5sum(3nkRI6kop1j5nNcu+1740704763+/music/download/ewr.mp3)
3、生成鉴权URL为
http://www.test.com/35cf8a77efc8db51a5982bed9ff8bf3b/1740726562/music/download/ewr.mp3
如果请求在有效时间内,并且计算出来的md5hash值与用户请求中带的md5hash值(09df875b4bdf30d17dba98003e3b007e)一致,则鉴权通过,反之鉴权失败。