更新时间:2024-07-08 15:24:16
相较于IP黑白名单和Referer防盗链等访问控制措施,URL鉴权提供了一种更高级的内容保护方案。此方法允许在内容URL中添加鉴权信息,如时间戳和加密字符串。当用户向CDN发起内容请求时,必须附带相应的鉴权信息。CDN将验证这些信息,并根据验证结果决定是否向用户提供所请求的内容,这样可以更有效地防止内容URL被未授权用户获取和使用。
常见的URL鉴权架构,涉及三个关键组成部分:客户源站的应用服务器、客户端和CDN节点。
假设需要配置鉴权的URL为:http://example.com/test.jpg
,具体鉴权的流程如下:
http://example.com/test.jpg?token=123
,并将其响应给用户。生效范围
访问的生效范围,即配置针对哪些请求进行URL鉴权访问控制。这里我们提供如下生效范围供您选择。
配置项 | 说明 |
---|---|
所有请求 | 即该访问控制规则,将所有类型的请求都生效。 |
仅首页 | 仅针对域名根目录格式的请求生效,比如http://domain/ 或https://domain/ 。 |
指定文件类型 | 仅对特定类型的文件生效,您可以在左侧选择对应的文件类型,也可以自定义文件类型。对于自定义文件类型,多个文件类型之前请通过分号; 分割,例如:jpg;png 。 |
指定URI | 访问控制仅对指定URI的内容请求生效,这里我们提供两种URI匹配模式,精准匹配和忽略参数匹配。精准匹配:指定完整的URI,包括参数。比如,path/index.html?abc=123 。忽略参数匹配:仅填入问号前的路径,无需指定参数。比如,path/index.html 。 |
指定目录 | 仅对部分目录下的请求进行访问控制,比如,当配置为/file/abc/ 表示对http://domain/file/abc/* 下所有的内容都会生效。注意:目录必须以/ 作为开头和结尾,只能包含由字母、数字及部分特殊符号(包含下划线、减号、百分号、点)任意组合,当有多个目录时,目录间需要进行换行分隔。 |
URL正则匹配 | 通过正则表达式来控制生效范围。比如*.jpg$ 代表访问控制将对所有的以jpg 结尾的URL生效。 |
鉴权模式
在CDNetworks的控制台上,您可以选择以下5种URL鉴权模式,这些模式具有不同的鉴权规则。根据您的业务需求,请选择最适合的模式来保护您的资源。关于这五种鉴权模式的具体说明,请参考以下内容:
因为URL鉴权配置相对复杂,为了避免错误的配置对您的线上业务造成影响,建议您先将配置部署到测试环境。确认配置无误后,再将其正式生效至线上环境。关于如何将配置部署到测试环境,请参考教程通过预部署来验证配置是否生效。
此外,您可以使用 CDN 控制台上提供的时间戳防盗链计算器自动生成 URL 鉴权参数,以验证配置是否符合您的预期。访问文档时间戳防盗链计算器,获取更多使用细节。