全部产品
Search
文档中心

CDN:配置Referer防盗链

更新时间:Oct 27, 2023

Referer防盗链,是基于HTTP请求头中Referer字段(例如,Referer黑白名单)来设置访问控制规则,实现对访客的身份识别和过滤,防止网站资源被非法盗用。本文介绍如何配置Referer防盗链。

背景信息

重要
  • 该功能默认不启用。

  • 将某个域名添加到Referer黑名单或白名单后,CDN会默认将该域名的泛域名加入对应的规则名单。例如,如果您填写aliyundoc.com,则最终配置生效的是*.aliyundoc.com,即所有子级域名都会生效。

  • 域名在进行Range请求时,由于Range第二次请求的时候会被浏览器加上Referer头,因此需要对该域名Referer防盗链设置为白名单。

Referer是HTTP请求头的一部分,携带了HTTP请求的来源地址信息(协议+域名+查询参数),可用于识别请求来源。

配置Referer黑白名单后,CDN会根据名单识别请求身份,允许或拒绝访问请求。允许访问请求,CDN会返回资源链接;拒绝访问请求,CDN会返回403响应码。

image

操作步骤

  1. 登录CDN控制台

  2. 在左侧导航栏,单击域名管理

  3. 域名管理页面,单击目标域名对应的管理

    域名管理
  4. 在指定域名的左侧导航栏,单击访问控制

  5. Referer防盗链页签,单击修改配置

  6. 根据业务需求,设置Referer黑名单白名单

    参数

    说明

    Referer类型

    • 黑名单

      黑名单内的域名均无法访问当前的资源。

    • 白名单

      只有白名单内的域名能访问当前资源,白名单以外的域名均无法访问当前的资源。

    说明

    黑名单和白名单互斥,同一时间您只能选择其中一种方式。

    规则

    • 支持添加多个Referer名单,使用回车符进行分隔。

    • 支持使用星号(*)作为通配符。例如,配置*.developer.aliyundoc.com,可以匹配到image.developer.aliyundoc.comvideo.developer.aliyundoc.com等。

    说明

    Referer防盗链规则的总长度最长不超过60 KB。

    重定向URL

    白名单

    重定向URL,即用户请求中的referer信息未匹配上白名单列表,被拦截后不会再返回403,而是会返回302加Location头,该项为Location头的值,以 http:// 或者 https:// 开头,例如:http://www.example.com

    黑名单

    重定向URL,即用户请求中的referer信息匹配上黑名单列表,被拦截后不会再返回403,而是会返回302加Location头,该项为Location头的值,以 http:// 或者 https:// 开头,例如:http://www.example.com

    高级配置

    允许通过浏览器地址栏直接访问资源URL

    当勾选该选项时,无论配置的是Referer黑名单还是白名单,请求Referer字段为空或无Referer字段(例如浏览器请求),CDN节点都将允许用户访问当前的资源。

    精确匹配

    白名单:使用精确匹配模式,控制“白名单列表”项中填写的域名是否为精确匹配。

    • 勾选精确匹配时:

      • 支持精确匹配。

        白名单列表填写example.com,匹配example.com

        白名单列表填写a*b.example.com,匹配a<任意字符>b.example.com

      • 不支持后缀匹配。

    • 未勾选精确匹配时:

      • 不支持精确匹配。

      • 支持后缀匹配。

        白名单列表填写example.com,匹配example.com<任意字符>.example.com

        白名单列表填写a*b.example.com,匹配a<任意字符>b.example.com<任意字符>.a<任意字符>b.example.com

    黑名单:使用精确匹配模式,控制“黑名单列表”项中填写的域名是否为精确匹配。

    • 勾选精确匹配时:

      • 支持精确匹配。

        黑名单列表填写example.com,匹配example.com

        黑名单列表填写a*b.example.com,匹配a<任意字符>b.example.com

      • 不支持后缀匹配。

    • 未勾选精确匹配时:

      • 不支持精确匹配。

      • 支持后缀匹配。

        黑名单列表填写example.com,匹配example.com<任意字符>.example.com

        黑名单列表填写a*b.example.com,匹配a<任意字符>b.example.com<任意字符>.a<任意字符>b.example.com

    忽略scheme

    无论配置的是Referer黑名单还是白名单:

    • 勾选忽略scheme后,如果用户请求中的Referer没有带上HTTP或HTTPS协议头部,则依然当做有效Referer进行处理。例如Referer格式为www.example.com依然有效。

    • 未勾选忽略scheme时,如果用户请求中的Referer没有带上HTTP或HTTPS协议头部,则按照无效Referer进行处理。例如Referer格式为www.example.com时无效,只有Referer格式为https://www.*.comhttp://www.*.com才有效。

    规则条件

    规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。

    • 不使用:不使用规则条件。

    • 选择已配置的规则引擎,新增或修改规则引擎请参见规则引擎

  7. 单击确定,完成配置。