URL鉴权简介

更新时间:2024-07-17 17:30:42

相较于IP黑白名单和Referer防盗链等访问控制措施,URL鉴权提供了一种更高级的内容保护方案。此方法允许在内容URL中添加鉴权信息,如时间戳和加密字符串。当用户向CDN发起内容请求时,必须附带相应的鉴权信息。CDN将验证这些信息,并根据验证结果决定是否向用户提供所请求的内容,这样可以更有效地防止内容URL被未授权用户获取和使用。

URL鉴权是如何工作的?

常见的URL鉴权架构,涉及三个关键组成部分:客户源站的应用服务器、客户端和CDN节点。

  • 源站应用服务器:该服务器负责根据既定的鉴权URL生成规则(包括使用的鉴权算法和密钥)来创建鉴权URL,并将其返回给客户端。
  • 客户端(用户):在需要访问资源时,客户端使用收到的鉴权URL向CDN节点发起请求。
  • CDN节点:CDN节点对来自客户端的鉴权URL进行校验,主要验证其中的鉴权信息,如鉴权字符串和时间戳,以决定是否授权访问请求的内容。

假设需要配置鉴权的URL为:http://example.com/test.jpg,具体鉴权的流程如下:

  1. 客户端(用户)向客户的源站应用服务器请求内容URL。
  2. 客户的内容管理服务器根据既定规则(包括鉴权算法和密钥等)生成具有时效性的带防盗链串的视频URL,例如 http://example.com/test.jpg?token=123,并将其响应给用户。
  3. 客户端使用获取到的带有鉴权信息的URL向CDN节点发起内容请求。
  4. CDN节点对鉴权URL中的鉴权信息进行验证,判断请求的合法性。如果鉴权通过,CDN节点正常响应请求内容;如果鉴权失败,CDN节点将拒绝该访问请求。

如何配置URL鉴权

  1. 登录CDNetworks控制台, 选择对应的产品。
  2. 进入自助配置页面,找到要设置的域名,点击修改配置Self-Service Configuration for China Premium Service Onboarding
  3. 选择左侧配置导航栏的访问控制-时间戳防盗链,并单击修改
  4. 根据您的需要,选择生效范围鉴权模式

生效范围
访问的生效范围,即配置针对哪些请求进行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鉴权配置是否正确

因为URL鉴权配置相对复杂,为了避免错误的配置对您的线上业务造成影响,建议您先将配置部署到测试环境。确认配置无误后,再将其正式生效至线上环境。关于如何将配置部署到测试环境,请参考教程通过预部署来验证配置是否生效

此外,您可以使用 CDN 控制台上提供的时间戳防盗链计算器Self-Service Configuration for China Premium Service Onboarding自动生成 URL 鉴权参数,以验证配置是否符合您的预期。访问文档时间戳防盗链计算器,获取更多使用细节。

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!