在火山引擎内容分发网络(CDN)中,您可以配置 "Referer 黑白名单",阻止包含特定 Referer 的请求访问 CDN,从而防止您网站的内容被盗链。
Referer 是 HTTP 请求中的一个头部,用来记录请求的来源页面。一般来说,Referer 是一个完整 URL,包含 scheme、域名、路径和查询字符串。
当您点击网页 A 中的一个链接时,浏览器会向链接所指向目标页面发送 HTTP 请求。请求中包含 Referer 头部,头部值就是网页 A 的 URL。
空 Referer 指的是 HTTP 请求中不包含 Referer 头部。在 "Referer 黑白名单" 中,您可以配置 CDN 如何处理不包含 Referer 头部的用户请求。
说明
Referer: null 不被视为是 "空 Referer" 情况。
空 Referer 场景
通常,空 Referer 出现在以下任意场景中:
<meta> 标签中声明了 Referrer-Policy: no-referrer。Referrer-Policy: no-referrer 头部。CDN 提供的一系列访问控制功能有不同的优先级。在 CDN 处理用户请求时,这些功能按优先级对请求生效。参见 访问控制功能的优先级。
配置 | 说明 |
|---|---|
类型 | 表示名单的类型。该配置有以下选项:
|
配置方式 | 表示清单中条目的来源。该配置有以下选项: |
规则内容(选项) | 表示名单的配置选项,包含: |
常规名单(输入框) | 表示一个常规名单。如果您在 规则内容 处勾选了 常规名单,该输入框会出现。名单的输入要求如下:
常规名单输入框下有以下三个配置选项。 忽略大小写 忽略 scheme 校验
泛域名匹配包含主域名
|
正则名单(输入框) | 表示一个正则表达式名单,用于对 Referer 中的完整 URL 进行匹配校验。您最多可以指定 100 个正则表达式,每个正则表达式一行。如果您在 规则内容 处勾选了 正则名单,该输入框会出现。 正则名单中的条目不区分大小写。 |
假设您配置的常规名单中包含以下条目:
名单类型 | 用户请求中的 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 | 勾选 | 接收请求 | |
不勾选 | 接收请求 |
假设以下场景:
名单类型 | 用户请求中的 Referer 头部值 | 忽略大小写 | 匹配结果 |
|---|---|---|---|
黑名单 | www.eXampLe.com/file?p=v | 勾选 | 拒绝请求 |
不勾选 | 接收请求 | ||
白名单 | 勾选 | 接收请求 | |
不勾选 | 拒绝请求 |
假设您配置的常规名单中包含以下条目:
名单类型 | 用户请求中的 Referer 头部值 | 空 Referer | 匹配结果 |
|---|---|---|---|
黑名单 | 不包含 Referer 头部或者 Referer 头部值为空 | 勾选 | 拒绝请求 |
不勾选 | 接收请求 | ||
白名单 | 勾选 | 接收请求 | |
不勾选 | 拒绝请求 |
假设以下场景:
名单类型 | 用户请求中的 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 | 勾选 | 接收请求 | |
不勾选 | 拒绝请求 |