更新时间:2024-05-20 11:28:32
与模式C和模式D相似,模式E需要将鉴权信息作为请求参数附加在URL中。模式E的鉴权URL结构如下:
http://domain/uri?auth_key=<time>-<rand>-<uid>-<key>
注意:在以上URL示例中,我们使用了
<>
来表示鉴权参数的位置,实际URL中不会包含这些符号。在实际应用中,您只需按照指定的格式构建URL即可。
在上述URL结构中,auth_key
是URL中唯一的鉴权请求参数,包括time
、rand
、uid
和key
四个部分。各个字段的说明如下:
字段 | 说明 |
---|---|
domain | 您在CDNetworks平台上注册的域名。 |
uri | 实际请求CDN的URL地址部分。例如,原始请求URL为http://cdnetworks.com/browse/index.html ,则uri 应为/browse/index.html 。注意,如果请求URL包含额外参数(例如/browse/index.html?user=123 ),uri 应仅包括路径部分,不包括问号及其后的参数。 |
time | URL生成时间的时间戳。CDN边缘服务器会依据这个时间戳判断URL是否在设定的有效期内。如果当前时间超过有效期,CDN将不再提供该内容。注意:模式E下时间戳格式只支持十进制Unix时间戳。 |
rand | 该值是一个您可以任意指定的字符串,在鉴权签名的计算中,需要包含该字符串的值。 |
uid | 为一个随机指定的数值,uid的值也将用于鉴权签名的计算。 |
key | 鉴权校验用的加密字符串。模式E中,key的计算方式为key=md5(uri-time-rand-uid-ourkey) 。例如,原始请求为http://cdnetworks.com/browse/index.html ,时间戳为1715916795 ,随机字符串为7asdD6JEYMpCzX ,随机数为0 ,自定义密钥为cdnw ,则生成的鉴权URL为http://cdnetworks.com/browse/index.html?auth_key=1715916795-7asdD6JEYMpCzX-0-2a59386824bd900252600160f446c227 。 |
在鉴权模式设置中,勾选模式E进行相应配置。接下来,我们将详细解释各配置字段的用途和设置方法。
自定义加密密钥($ourkey)
是生成URL鉴权加密字符串key
的独特字符串。由于该密钥仅为您和CDN服务器共享,它极大地增强了URL鉴权参数的安全性。在控制台中,您可以方便地设置多个ourkey值,并通过;
符号分隔。
当配置多个ourkey时,CDN边缘服务器会按顺序尝试这些值进行鉴权。如果首个ourkey验证失败,服务器将依次尝试下一个,直至找到有效密钥或所有密钥均验证失败。
鉴权加密字符串key
的生成依赖于特定的加密算法。当前,我们默认使用MD5算法进行加密,但出于系统安全性的考虑,该算法暂不支持通过控制台直接更改。若您希望采用其他加密算法以提高安全性,请与我们专业的技术支持团队联系,他们将会协助您完成默认加密算法的更换工作。
密钥参数名是URL中鉴权签名参数的名称,默认命名为auth_key
。您可以自定义这个参数名称。例如,将其设置为cdnwkey
,则客户端可以使用http://cdnetworks.com/browse/index.html?cdnwkey=123
形式的URL请求内容。
我们提供三种方法配置URL鉴权信息的有效期:
60
),表示从时间戳开始,多少秒内鉴权信息有效。-60,60
,表示时间戳前后各一分钟内有效。-
,系统将不检查或限制有效期。由于URL鉴权配置复杂,为避免对线上业务造成影响,建议先将配置部署到测试环境。确认配置无误后,再正式生效至线上环境。具体步骤请参考教程 通过预部署来验证配置是否生效。
此外,您可以使用CDN控制台提供的时间戳防盗链计算器自动生成URL鉴权参数,以验证配置是否正确。访问文档 URL鉴权计算器,获取更多详情。