You need to enable JavaScript to run this app.
导航
配置 Referer 黑白名单
最近更新时间:2023.07.05 14:59:34首次发布时间:2023.03.20 19:52:02

本文为您介绍如何在视频点播控制台中配置 Referer 黑白名单。

适用范围

Referer 黑白名单适用于点播加速域名、自定义源站加速域名和封面加速域名。

功能介绍

Referer 是 HTTP 请求头部的一个字段,提供访问来源信息。您可以通过 Referer 字段识别和判断访问来源。假设您在 https://www.example.com/test.html 页面上点击了 https://www.volcengine.com 的链接,那么在这个 HTTP 请求头中,就会包含 Referer:https://www.example.com/test.html 信息。视频点播支持配置 Referer 黑白名单。用户对资源发起请求后,请求到达 CDN 节点,CDN 节点会根据您配置的 Referer 黑名单或白名单,对来源进行判断。符合规则的用户可以顺利请求到资源,不符合规则的用户则会收到 403 响应码。

空 Referer

当一个请求不是由用户点击链接触发的,而是用户在地址栏输入网址或者选中浏览器书签,那么该请求的 Referer 字段值为空,或者请求头部不包含 Referer 字段。例如您在浏览器地址栏直接输入 https://www.volcengine.com 进行访问,此时请求头部就不包含 Referer 字段。

如果允许 Referer 为空,表示您的站点允许浏览器直接访问。

操作步骤

  1. 登录视频点播控制台,进入空间。

  2. 选择左侧导航栏分发加速设置 > 域名管理,进入域名管理页面。

  3. 根据您的域名类型,选择点播加速域名自定义源站加速域名封面加速域名页签。在域名列表中找到您需要配置的域名,单击操作列的配置按钮。

  4. 进入加速域名配置页面,选择访问控制页签。

  5. 单击页面下方的修改配置按钮,在 Referer 黑白名单下方,设置状态为开启,根据提示,完成参数配置。

    详细的信息参数说明如下表所示。

    参数说明

    类型

    支持选择黑名单或者白名单。

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

    说明

    在配置黑名单或者白名单后,如果一个请求不匹配规则,缓存节点返回相应的响应状态码。详见响应状态码

    Referer

    输入一个或者多个记录。该配置的长度不能超过 30000 个字符。记录可以是域名或者 IP 地址。IP 地址可以是 IPv4 地址、IPv6 地址、CIDR 格式的网段。域名可以是泛域名或者二级域名。多个记录之间用英文分号(;)分隔,或者分行输入。最多可以输入 1000 条记录。比如您可以输入 test.com;www.test.com;*.test01.com;186.33.22.1/28

    说明

    二级域名只表示单个域名,不表示泛域名。关于规则的匹配逻辑,详情请参见 Referer 匹配逻辑

    允许空 Referer是否允许空 Referer 访问当前资源。设为允许后,空 Referer 的请求一律都能正常访问当前资源。
  6. 完成配置后,单击保存配置按钮。

Referer 匹配逻辑

在您设置了 Referer 黑名单或 Referer 白名单后,视频点播 CDN 会使用 Referer 规则匹配用户请求中 Referer 字段的内容。匹配时不区分大小写。如果 Referer 字段的内容满足以下所有条件,则匹配成功。否则,则匹配失败。

  • 客户端请求头部携带的 Referer 头部字段内容的 host 部分精确匹配 Referer 防盗链配置的规则内容。
  • 客户端请求头部携带的 Referer 头部字段内容需要符合以下所有规范:
    • 字段内容符合以下任一 URL 格式:
      • scheme://host:port/path
      • scheme://host:port/
      • scheme://host:port
      • scheme://host/path
      • scheme://host/
      • scheme://host
    • scheme 的内容是 HTTP 或者 HTTPS。
    • port 是数字。
    • 如果 host 是 IPv6 地址,则该地址包含在 [ ] 中。

示例

由于 Referer 字段的内容不符合规范,导致结果不匹配的示例如下所示。

  • 假设 Referer 规则是 www.example.com:8888。此时,如果请求头部 Referer 携带值的内容是 www.example.com:8888,视频点播 CDN 判定为不匹配。原因是 Referer 头部携带值的内容不符合规范。
  • 假设 Referer 规则是 350e:b1:e401:4::1a。此时,如果 Referer 字段的内容是 http://350e:b1:e401:4::1a:8090/,视频点播 CDN 判定为 Referer 配置规则不匹配。

响应状态码

如果结果是不匹配的,那么视频点播 CDN 返回的状态码有以下情况:

  • 如果配置的是白名单,有以下情况:

    • 如果 Referer 头部的值不符合规范,状态码是 403。
    • 如果 Referer 配置规则不匹配,状态码是 403。
  • 如果配置的是黑名单,有以下情况:

    • 如果 Referer 头部的值不符合规范,状态码是 200。
    • 如果 Referer 配置规则不匹配,状态码是 200。