CDN分发的内容默认为公开资源,URL鉴权功能主要用于保护用户站点资源,防止资源被用户恶意下载盗用。华为云CDN提供了3种URL鉴权配置。本章为您详细介绍鉴权方式A的实现方式。
目前暂不支持控制台自助配置URL鉴权,如有需要请提交工单进行处理。
访问加密URL构成:
http://DomainName/Filename?auth_key=timestamp-rand-uid-md5hash
鉴权字段描述如下表所示:
字段 |
描述 |
---|---|
DomainName |
CDN加速域名。 |
timestamp |
用户定义的有效访问时间起始点,值为1970年1月1日以来的当前时间秒数 。十进制或者十六进制整数。 |
有效时间 |
鉴权有效的时间长度,默认是1800s。 如果设置有效时间为1800s,则用户可在从timestamp开始的1800s内访问CDN。超出该区间,鉴权失败。 |
rand |
随机数,建议使用UUID (不能包含中划线“-”,如: 202cb962ac59075b964b07152d234b70 格式)。 |
uid |
userID。暂未使用(设置成0即可) |
md5hash |
通过md5算法计算出来的验证串,数字0-9和小写英文字母a-z混合组成,固定长度32。 |
Filename |
实际回源访问的URL,鉴权时Filename需以/开头。不包含?后面的参数。 |
PrivateKey |
用户设定的鉴权密钥,来生成加密URL。如huaweicloud123。密钥的格式为大小写字母、数字,长度6到32。 包含主KEY和备KEY。主KEY必须设置,备KEY不强制填写。当需要替换密钥时,如果需要新旧密钥同时生效,可设置备KEY。主、备KEY之一鉴权通过即可正常访问。 |
鉴权参数名 |
用户url中携带的鉴权信息参数名,默认为auth_key。可在界面修改配置。 |
CDN服务器拿到请求后,会按照如下步骤进行校验:
sstring = "Filename-Timestamp-rand-uid-PrivateKey" HashValue = md5sum(sstring)
http://hwcdn.example.com/T128_2_1_0_sdk/0210/M00/82/3E/test.mp3
/T128_2_1_0_sdk/0210/M00/82/3E/test.mp3-1498752000-0-0-huaweicloud123
HashValue = md5sum(“/T128_2_1_0_sdk/0210/M00/82/3E/test.mp3-1498752000-0-0-huaweicloud123”) = 40e64d69aac7d15edfc6ec8a080042cb
http://hwcdn.example.com/T128_2_1_0_sdk/0210/M00/82/3E/test.mp3?auth_key=1498752000-0-0-40e64d69aac7d15edfc6ec8a080042cb
如果请求在有效时间内(2017年6月30日00:00:00-2017年6月30日00:30:00),并且计算出来的HashValue与用户请求中带的md5hash值(40e64d69aac7d15edfc6ec8a080042cb)一致,则鉴权通过。
平平无奇的暑假的一天(因为洪水疫情不能出门)(逃:一名修炼了两年的大学僧正...
读数据 跟namenode通信查询元数据,找到文件块所在的datanode服务器 挑选一台dat...
来源 阿里语音AI 公众号 从首都机场到北京市区,你是否遇到过不知道该怎么坐地铁...
最近,DevOps的采用导致了企业计算的重大转变。除无服务器计算,动态配置和即付...
想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区 https://...
疫情期间 多地楼市迎来了一波小阳春 可还没等欢呼雀跃就戛然而止了。随着科技发...
上次介绍了HDFS,本来想进入Mapreduce,但感觉Mapreduce基本废弃,于是直接进入...
本文转载自微信公众号Python编程时光(Cool-Python)。 1. 警告不是异常 你是不...
域名注册 个人信息如何实名认证?个人 域名 进行实名认证,需提交域名所有者身份...
来源 | 阿里飞天CIO学堂微信公众号 “数字化是非常重要的必备基础武器,没有数字...