URL鉴权功能主要用于保护用户站点的资源不被非法站点下载盗用。通过防盗链方法添加Referer黑名单和白名单的方式可以解决一部分盗链问题,由于Referer内容可以伪造,所以Referer防盗链方式无法彻底保护站点资源。因此,您可以采用URL鉴权方式保护源站资源更为安全有效。

背景信息

URL鉴权功能通过阿里云CDN加速节点与客户资源站点配合,形成了更为安全可靠的源站资源防盗方法。
  • CDN客户站点提供加密URL,URL中包含权限验证信息。
  • 用户使用加密后的URL向加速节点发起请求。
  • 加速节点对加密URL中的权限信息进行验证,判断请求的合法性。正常响应合法请求,拒绝非法请求。

如果您想了解Python鉴权代码示例,请参见鉴权示例

注意 您的请求URL经过CDN鉴权后,URL中的特殊字符,例如 =+等会被转义。

鉴权流程

  • CDN开启URL鉴权:鉴权通过后,会去掉客户端发起的请求URL中的鉴权参数,把客户端发起的请求URL(带鉴权参数)还原为原始URL,然后使用原始URL来生成缓存key或者发起回源请求。开启
  • CDN关闭URL鉴权:CDN关闭URL鉴权,与此同时,客户端上发起的请求URL里面也要去掉鉴权参数,否则,如果CDN上的URL鉴权功能已经关闭了,但是客户端发起的请求URL里面依然携带鉴权参数的话,就会导致CDN无法把客户端发起的请求URL(带鉴权参数)还原为原始URL,最终所有请求都无法命中缓存,均会透传回源站,导致源站的流量大涨,同时也会增加源站的流量费用。关闭

操作步骤

  1. 登录CDN控制台
  2. 在左侧导航栏,单击域名管理
  3. 域名管理页面,单击目标域名对应的管理
  4. 在指定域名的左侧导航栏,单击访问控制
  5. 单击URL鉴权页签。
  6. 鉴权URL设置区域,单击修改配置
  7. 打开URL鉴权开关,配置URL鉴权信息。
    URL鉴权
    参数 说明
    鉴权类型
    阿里云CDN兼容并支持三种鉴权方式。您可以根据访问加密URL格式,选择合适的鉴权方式,实现对源站资源的有效保护。URL鉴权类型如下:
    说明 URL鉴权错误会返回403报错:
    • MD5计算类错误

      例如:X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760be

    • 时间类报错

      例如:X-Tengine-Error:denied by req auth: expired timestamp=1439469547

    主KEY 输入鉴权方式对应的主用密码。
    备KEY 输入鉴权方式对应的备用密码。
    鉴权Key有效时间 默认为1800秒(即30分钟),您可以根据业务需求自定义设置,设置范围为1秒~31536000秒(即一年)。
  8. 单击确定