tencent cloud

文档反馈

最后更新时间:2024-12-31 11:16:09
    为保护您的站点资源不被非法站点下载盗用,您可按需选择 Type ABCD 四种鉴权方式的某一种,本文为您详细介绍 Type A 的各个参数字段和原理。

    算法说明

    访问 URL 格式http://DomainName/Filename?sign=timestamp-rand-uid-md5hash
    注意:
    访问 URL 中不能包含中文。
    鉴权字段说明
    字段
    说明
    DomainName
    CDN 域名。
    Filename
    资源访问路径,鉴权时Filename需以正斜线( / )开头。
    timestamp
    服务端生成鉴权 URL 的时间,使用十进制整型正数的 Unix 时间戳,是从 UTC 时间1970年01月01日00时00分00秒到现在的总秒数,其定义与所在时区无关。
    rand
    随机字符串,0 - 100位随机字符串,由大小写字母与数字组成。
    uid
    用户 ID,暂未使用,直接设置为0即可。
    md5hash
    通过 MD5 算法计算出的固定长度为32位的字符串。md5hash 具体的计算公式如下:
    md5hash = md5sum(uri-timestamp-rand-uid-pkey)
    uri 资源访问路径以正斜线(/)开头
    timestamp:取值为上述中的timestamp
    rand: 取值为上述的rand
    uid: 取值为上述的uid
    pkey:自定义密钥:由6 - 40位大小写字母、数字构成,密钥需要严格保密,仅客户端与服务端知晓。
    鉴权逻辑说明 CDN 服务器接受到客户请求后,解析出 url 中的 timestamp 参数 + 鉴权 URL 有效时长与当前时间比较。
    1.1 如果 timestamp + 鉴权 URL 有效时长小于当前时间,则服务器判定过期失效,并返回 HTTP 403错误。
    1.2 如果 timestamp + 鉴权 URL 有效时长大于当前时间,则使用 MD5 算法算出 md5hash 的值,再比较计算出来的 md5hash 值与 url 中传入的 md5hash 值,如果一致则放过,不一致则返回HTTP 403错误。

    配置指南

    以 Type-A 鉴权的配置为例,参数和控制台配置如下:
    字段配置
    鉴权密钥:dimtm5evg50ijsx2hvuwyfoiu65
    签名参数:sign
    鉴权URL有效时长为:1s
    
    
    
    签算服务器生成鉴权URL的时间:2020年02月27日16:10:32(UTC+8),转换为十进制的整形数值为1582791032(timestamp)
    请求源站地址:http://www.mixcre.com/test/1.jpg
    生成过程
    获取鉴权参数
    参数
    uri
    资源访问路径为 /test.jpg
    timestamp
    1582791032
    rand
    生成随机数为 im1acp76sx9sdqe601v
    uid
    设置为0
    pkey
    dimtm5evg50ijsx2hvuwyfoiu65
    拼接签名串:/test.jpg-1582791032-im1acp76sx9sdqe601v-0-dimtm5evg50ijsx2hvuwyfoiu65
    计算签名串的 md5 值:md5hash =md5sum(uri-timestamp-rand-uid-pkey)= md5sum(/test.jpg-1582791032-im1acp76sx9sdqe601v-0-dimtm5evg50ijsx2hvuwyfoiu65) = 3fbb88382c9356b6faaf9d68c7b2ae3a
    生成鉴权 URLhttp://www.mixcre.com/test/1.jpg?sign=1682234383-YES3WZ57u91G3zA1YYzh5Y3aIy6U2i0K-0-57b80424b3e6f9da4027fe13c00c44a7 当客户端通过加密URL进行访问时,如果CDN服务器计算出来的 md5hash 值与访问请求中带的md5hash值相同,都为3fbb88382c9356b6faaf9d68c7b2ae3a,则鉴权通过,反之鉴权失败。

    注意事项

    缓存命中率
    开启了 TypeA 鉴权模式的域名,访问 URL 会携带鉴权参数,在 CDN 节点进行资源缓存时,会自动忽略对应的参数进行缓存,不会影响域名缓存命中率。
    注意:
    因配置后会自动忽略对应的参数,即会忽略配置的鉴权参数,所以会影响鉴权范围内文件的缓存键,且此处的优先级高于缓存配置 - 缓存键规则配置处的缓存键规则。 例如,此处 TypeA 配置为: 鉴权参数:sign - 鉴权范围:jpg,则 jpg 类型的文件会自动忽略“sign”参数,即使缓存配置 - 缓存键规则配置处已配置:全部文件 - 不忽略参数。
    回源策略
    开启了 TypeA 鉴权模式的域名,访问格式为: http://DomainName/Filename?sign=timestamp-rand-uid-md5hash
    鉴权通过后,未命中 CDN 节点,节点会发起回源请求,格式与访问请求保持一致,会保留签名参数,源站可按需进行忽略或二次校验。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持