You need to enable JavaScript to run this app.
内容分发网络

内容分发网络

复制全文
访问控制
Referer 黑白名单
复制全文
Referer 黑白名单

在火山引擎内容分发网络(CDN)中,您可以配置 "Referer 黑白名单",阻止包含特定 Referer 的请求访问 CDN,从而防止您网站的内容被盗链。

Referer 介绍

Referer 是 HTTP 请求中的一个头部,用来记录请求的来源页面。一般来说,Referer 是一个完整 URL,包含 scheme、域名、路径和查询字符串。

当您点击网页 A 中的一个链接时,浏览器会向链接所指向目标页面发送 HTTP 请求。请求中包含 Referer 头部,头部值就是网页 A 的 URL。

空 Referer

空 Referer 指的是 HTTP 请求中不包含 Referer 头部。在 "Referer 黑白名单" 中,您可以配置 CDN 如何处理不包含 Referer 头部的用户请求。

说明

Referer: null 不被视为是 "空 Referer" 情况。

空 Referer 场景
通常,空 Referer 出现在以下任意场景中:

  • 您通过浏览器中的书签访问目标页面。
  • 您在浏览器地址栏中输入 URL 访问目标页面。
  • 您在一个 HTTPS 页面中点击链接访问一个 HTTP 页面。
  • 您使用浏览器提供的隐私浏览模式。
  • 如果您访问的页面满足以下任意条件,您在该页面中点击任何链接时,HTTP 请求中不包含 Referer 头部。
    • 页面的 <meta> 标签中声明了 Referrer-Policy: no-referrer
    • 包含该页面的服务器响应中存在 Referrer-Policy: no-referrer 头部。

功能优先级

CDN 提供的一系列访问控制功能有不同的优先级。在 CDN 处理用户请求时,这些功能按优先级对请求生效。参见 访问控制功能的优先级

操作步骤

  1. 登录 火山引擎内容分发网络控制台
  2. 在左侧导航栏,点击 域名管理
  3. 域名管理 页面,找到需要配置的域名,点击 管理
  4. 定位 Referer 黑白名单 模块。
    • 如果您使用的是旧版域名管理页面,点击 编辑配置,然后在 访问控制 标签页中定位 Referer 黑白名单 模块。
    • 如果您使用的是新版域名管理页面,点击 编辑域名。在页面左侧的树状配置项列表中,定位 功能配置 > 访问控制 > Referer 黑白名单。如果该模块置灰,点击模块右边的 +
      关于新旧版域名管理页面的区别,参见 新版域名配置
  5. Referer 黑白名单 模块中,设置 状态 为启用。
  6. 参照 配置说明 进行配置。
  7. 配置完成后,点击 提交编辑

Image

配置说明

配置

说明

类型

表示名单的类型。该配置有以下选项:

  • 白名单:指定一个白名单。如果用户请求中的 Referer 不匹配该清单,CDN 会拒绝请求。
  • 黑名单:指定一个黑名单。如果用户请求中的 Referer 匹配该清单,CDN 会拒绝请求。

配置方式

表示清单中条目的来源。该配置有以下选项:

  • 策略配置:表示名单中的条目在 常规名单正则名单 中配置。
  • 全局配置:表示名单中的条目来自一个 全局配置。全局配置用来定义大量条目。一个全局配置最多可以包含 4,000 个条目。要使用全局配置,请 提交工单

规则内容(选项)

表示名单的配置选项,包含:

  • 常规名单:名单中的每个条目是一个 IP 地址或者域名,用来对 Referer 中的 hostname 进行匹配校验。支持输入 localhost
  • 正则名单:名单中的每个条目是一个正则表达式,用来对 Referer 中的完整 URL 进行匹配校验。要指定该选项,请 提交工单
  • 空 Referer:表示在 空 Referer 场景下,CDN 处理请求的方式。
    • 勾选:表示如果请求不包含 Referer 头部,则该请求被认为匹配您配置的名单。
    • 不勾选:表示如果请求不包含 Referer 头部,则该请求被认为不匹配您配置的名单。

常规名单(输入框)

表示一个常规名单。如果您在 规则内容 处勾选了 常规名单,该输入框会出现。名单的输入要求如下:

  • 名单最多可以包含 1,000 个条目,总长度不能超过 30,000 个字符。多个条目之间使用分号(;)分隔或者每个条目一行。如果您需要输入的条目数量超过 1,000,参考 全局配置
  • 条目可以是域名或 IP 地址,支持输入 localhost
    • IP 地址可以是 IPv4,IPv6 或者 CIDR 格式。
    • 域名可以是泛域名。泛域名可以匹配的子域名的级数没有限制。

常规名单输入框下有以下三个配置选项。

忽略大小写

表示常规名单中的条目是否是大小写敏感的。

忽略 scheme 校验

表示 CDN 是否对 Referer 中的 scheme 进行校验,也就是校验 Referer 是否包含 http:// 或者 https://。该配置有以下选项:

  • 勾选:表示 CDN 不校验 Referer 是否包含 scheme。在这个情况下,无论 Referer 是否包含 scheme,CDN 都会将 Referer 与您配置的名单进行匹配校验。
  • 不勾选:表示 CDN 会先校验 Referer 是否包含 scheme。只有 Referer 包含 scheme,CDN 才会将 Referer 与您配置的名单进行匹配校验。否则,CDN 判定请求与您配置的名单不匹配。

泛域名匹配包含主域名

表示泛域名是否可以匹配主域名。

  • 勾选:表示泛域名可以匹配主域名。
  • 不勾选:表示泛域名不匹配主域名。

正则名单(输入框)

表示一个正则表达式名单,用于对 Referer 中的完整 URL 进行匹配校验。您最多可以指定 100 个正则表达式,每个正则表达式一行。如果您在 规则内容 处勾选了 正则名单,该输入框会出现。 正则名单中的条目不区分大小写。

配置示例

忽略 Scheme 校验

假设您配置的常规名单中包含以下条目:

  • www.example.com

名单类型

用户请求中的 Referer 头部值

忽略 Scheme 校验

匹配结果

黑名单

www.example.com/file?p=v

勾选

拒绝请求

不勾选

接收请求

https://www.example.com/file?p=v

勾选

拒绝请求

不勾选

拒绝请求

白名单

www.example.com/file?p=v

勾选

接收请求

不勾选

拒绝请求

https://www.example.com/file?p=v

勾选

接收请求

不勾选

接收请求

忽略大小写

假设以下场景:

  • 您配置的常规名单中包含以下条目:
    • www.example.com
  • 忽略 Scheme 校验 为勾选。

名单类型

用户请求中的 Referer 头部值

忽略大小写

匹配结果

黑名单

www.eXampLe.com/file?p=v

勾选

拒绝请求

不勾选

接收请求

白名单

勾选

接收请求

不勾选

拒绝请求

空 Referer

假设您配置的常规名单中包含以下条目:

  • www.example.com

名单类型

用户请求中的 Referer 头部值

空 Referer

匹配结果

黑名单

不包含 Referer 头部或者 Referer 头部值为空

勾选

拒绝请求

不勾选

接收请求

白名单

勾选

接收请求

不勾选

拒绝请求

泛域名匹配包含主域名

假设以下场景:

  • 您配置的常规名单中包含以下条目:
    • *.example.com
  • 忽略 Scheme 校验 为勾选。

名单类型

用户请求中的 Referer 头部值

泛域名匹配包含主域名

匹配结果

黑名单

a.b.c.d.e.f.h.example.com/file?p=v

勾选

拒绝请求

不勾选

拒绝请求

example.com/file?p=v

勾选

拒绝请求

不勾选

接收请求

白名单

a.b.c.d.e.f.h.example.com/file?p=v

勾选

接收请求

不勾选

接收请求

example.com/file?p=v

勾选

接收请求

不勾选

拒绝请求

最近更新时间:2025.11.25 18:04:41
这个页面对您有帮助吗?
有用
有用
无用
无用