更新时间:2024-10-18 GMT+08:00

配置防盗链

配置referer黑白名单,通过设置HTTP Request Header中referer字段值的过滤策略,对访问者身份进行识别和过滤,实现限制访问来源的目的。

背景信息

HTTP Request Header中的Referer字段值代表了当前页面的请求来源,CDN节点可以通过Referer跟踪来源,对来源进行识别和判断。

用户访问加速域名网站内容时,访问请求到达CDN节点后,CDN节点会根据配置的Referer黑白名单,对访问者的身份进行识别和过滤,符合规则的可以顺利访问到该内容。如果不符合规则,该访问请求将会被禁止,返回403禁止访问的错误信息。

配置约束

  • 防盗链功能默认关闭。
  • referer黑名单与referer白名单二选一,不可同时配置。

操作步骤

  1. 登录华为云控制台,在控制台首页中选择“ CDN与智能边缘 > 内容分发网络 CDN”,进入CDN控制台。
  2. 在左侧菜单栏中,选择域名管理
  3. 在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
  4. 选择“访问控制”页签。
  5. 在防盗链配置模块,单击“编辑”,系统弹出“配置防盗链”对话框,如下图所示。
    图1 配置防盗链
  6. 打开“状态”开关按钮,开启该配置项。
  7. 选择“类型”,根据业务需要配置referer相关参数,具体参数说明参见下表。
    表1 参数说明

    参数

    说明

    输入规则

    空referer

    空referer指HTTP请求头中referer字段内容为空,或者一个HTTP请求中根本不包含referer字段。设置黑白名单时,如果勾选了此项,那么此类访问请求将遵循黑白名单的过滤规则。

    说明:

    空referer指一个HTTP请求中的referer字段值为空或不包含referer字段(规则中输入“null”表示referer字段的值是null,不等于空referer)。

    /

    referer白名单

    • 当请求的referer内容匹配白名单中的设置时,用户可以访问到请求的内容。否则,CDN返回403禁止访问的错误信息。
    • 当勾选了“包含空referer”后,如果用户发起了此类空referer的访问请求,用户可以访问到请求的内容。
    • 支持输入域名或IP地址,域名、IP地址可混合输入,以“;”进行分隔。
    • 支持添加泛域名。
    • 最多可用两个“*”,不能连续出现且不能出现在末尾。
    • 支持添加带端口的域名、IP,端口最大值为65535。
    • 输入的域名、IP地址总数不能超过500个。

      示例:www.example.com:443;*.test.com;192.168.0.0

      说明:

      后台有特殊配置的域名暂不支持配置多个“*”。

    referer黑名单

    • 当请求的referer内容匹配黑名单中的设置时,用户不能访问请求的内容,CDN节点返回403禁止访问的错误信息。否则,用户可以访问到请求的内容
    • 当勾选了“包含空referer”后,如果用户发起了此类空referer的访问请求,用户不能访问请求的内容,CDN节点返回403禁止访问的错误信息。
    • 支持输入域名或IP地址,域名、IP地址可混合输入,以“;”进行分隔。
    • 支持添加泛域名。
    • 最多可用两个“*”,不能连续出现且不能出现在末尾。
    • 支持添加带端口的域名、IP,端口最大值为65535。
    • 输入的域名、IP地址总数不能超过500个。

      示例:www.example.com:443;*.test.com;192.168.0.0

      说明:

      后台有特殊配置的域名暂不支持配置多个“*”。

  8. 在“规则”文本框处,输入要禁止或允许访问的域名。
  9. 单击“确定”,完成防盗链配置。
  10. (可选)关闭防盗链配置。
    • 关闭“状态”开关即可关闭防盗链配置,此时所有配置将被清空,下次启用防盗链功能时需要重新配置相关参数。

配置示例

  1. 加速域名为www.example.com,该加速域名配置了referer白名单规则:包含空referer,白名单内容为www.test.com,如下图所示。

    • 用户1:请求URL:https://www.example.com/file.html,该请求携带的referer字段值为空,CDN将会正常返回内容。
    • 用户2:请求URL:https://www.example.com/file.html,该请求携带的referer字段值为:www.test.com,CDN将会正常返回内容。
    • 用户3:请求URL:https://www.example.com/file.html,该请求携带的referer字段值为:www.abc.com,CDN节点将会返回403禁止访问的错误信息。
  2. 加速域名为www.example01.com,该加速域名配置了referer黑名单规则:包含空referer,黑名单内容为www.test01.com,如下图所示。

    • 用户1:请求URL:https://www.example01.com/file.html,该请求携带的referer字段值为空,CDN节点将会返回403禁止访问的错误信息。
    • 用户2:请求URL:https://www.example01.com/file.html,该请求携带的referer字段值为:www.test01.com,CDN节点将会返回403禁止访问的错误信息。
    • 用户3:请求URL:https://www.example01.com/file.html,该请求携带的referer字段值为:www.bcd.com,CDN将会正常返回内容。