You need to enable JavaScript to run this app.
导航
Referer 黑白名单
最近更新时间:2025.06.11 17:55:40首次发布时间:2022.02.09 10:17:26
我的收藏
有用
有用
无用
无用

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

Referer 介绍

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

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

空 Referer

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

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

  • 您通过浏览器中的书签访问目标页面。

  • 您在浏览器地址栏中输入 URL 访问目标页面。

  • 您在一个 HTTPS 页面中点击链接访问一个 HTTP 页面。

  • 您使用浏览器提供的隐私浏览模式。

  • 如果您访问的页面满足以下任意条件,您在该页面中点击任何链接时,HTTP 请求中不包含 Referer 头部。

    • 页面的 <meta> 标签中声明了 Referrer-Policy: no-referrer

    • 包含该页面的服务器响应中存在 Referrer-Policy: no-referrer 头部。

功能优先级

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

操作步骤

  1. 登录 火山引擎内容分发网络控制台

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

  3. 域名管理 页面,找到需要配置的域名,点击 管理

  4. 在页面上,点击 编辑配置 或者 编辑域名

  5. Referer 黑白名单 模块中,设置 状态 为启用。

  6. 参照 配置说明 进行配置。

  7. 配置完成后,点击 提交编辑

alt

配置说明

配置说明

类型

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

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

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

配置方式

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

  • 策略配置:表示名单中的条目在 常规名单正则名单 中配置。

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

规则内容

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

  • 常规名单:名单中的每个条目是一个 IP 地址或者域名,用来对 Referer 中的 hostname 进行匹配校验。

  • 正则名单:名单中的每个条目是一个正则表达式,用来对 Referer 中的完整 URL 进行匹配校验。要指定该选项,请 提交工单

  • 空 Referer:表示当用户请求不包含 Referer 头部时,CDN 处理请求的方式。该配置有以下选项:

    • 勾选:表示如果请求不包含 Referer 头部,则该请求被认为匹配您配置的名单。

    • 不勾选:表示如果请求不包含 Referer 头部,则该请求被认为不匹配您配置的名单。

常规名单(输入框)

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

输入要求
名单最多可以包含 1,000 个条目,总长度不能超过 30,000 个字符。您可以输入一个或者多个域名和 IP 地址。域名可以是泛域名。IP 地址只能是 IPv4 地址或者 IPv4 CIDR 地址。多个条目之间使用分号(;)分隔或者每个条目一行。

如果您需要输入的条目数量超过 1,000,参考 全局配置

关于泛域名和子域名

  • 泛域名不匹配域名本身。例如:*.example.com 不匹配 example.com,但是匹配 www.example.coma.a.example.com 等。

  • 子域名的级别数量没有限制。例如,您可以在名单中指定 aaa.bbb.ccc.ddd.eee.fff.ggg.eee.example.com

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

忽略 Scheme 校验

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

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

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

该配置对正则名单不生效,因为 CDN 依赖正则表达式来判断 Referer 是否匹配正则名单。

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

配置示例

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

  • www.example.com

  • *.example.com

相关设置及匹配结果如下表所示:

名单类型用户请求中的 Referer忽略大小写忽略 Scheme 校验空 Referer匹配结果

黑名单

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

勾选

N/A

拒绝请求

不勾选接受请求

www.example.com/file?p=v

N/A

勾选

N/A

拒绝请求

不勾选接受请求
不包含 Referer 头部N/A勾选拒绝请求
不勾选接受请求
https://www.example.comN/A拒绝请求
https://docs.www.example.com拒绝请求
https://example.com接受请求
白名单https://www.eXampLe.com/file?p=v勾选N/A接受请求
不勾选拒绝请求
www.example.com/file?p=vN/A勾选N/A接受请求
不勾选拒绝请求
不包含 Referer 头部N/A勾选接受请求
不勾选拒绝请求

https://www.example.com

N/A

接受请求

https://docs.www.example.com接受请求
https://example.com拒绝请求