Referer 是 HTTP 请求中的一个请求头,表示请求是来自哪个站点页面的。Referer 头部指示了源页面的 URL,包含协议,域名,端口,路径与查询参数。端口是可选的。
Referer 头的作用之一是防盗链。您可以为您的站点配置一个 Referer 黑名单以拒绝来自指定域名的请求。或者您可以为您的站点配置一个 Referer 白名单只允许接受来自指定域名的请求。如果您希望对具体的页面配置 Referer 黑白名单,您需要使用正则表达式。要在黑白名单使用正则表达式,请联系客服。
"空 Referer" 的定义是 Referer 头没有值或者请求中不包含 Referer 头。
登录 星驰云 控制台。
在左侧导航栏,点击 域名管理。
在 域名管理 页面,找到需要配置的域名,点击 管理。 页面上方的筛选条件和搜索框可以帮助您快速找到要配置的域名。
在域名页面上,点击 访问控制 页签。
在页面右上方,点击 编辑配置。
在 Referer 防盗链 下方,设置 状态 为 开启。
参照表格中内容进行配置。
在页面右上方,点击 提交编辑。
配置 | 说明 |
类型 | 该配置有以下选项:白名单:当您只想允许来自某些站点的请求时,可以配置一个白名单。如果用户的请求不匹配白名单,内容分发网络拒绝请求并且响应 403 状态码黑名单:当您只想阻止来自某些站点的请求时,可以配置一个黑名单。如果用户的请求匹配了黑名单,内容分发网络拒绝请求并且响应 403 状态码。 |
常规名单 | 输入一个或者多个名单条目。名单的长度不能超过 30,000 个字符。您可以输入一个或者多个域名(包括子域名和泛域名)和 IP 地址( 包括 IPv4 地址、IPv6 地址、CIDR 网段)。多个条目使用分号(;)或换行符分隔。您最多可以输入 1,000 个条目。需要注意的是,一个二级域名是单个域名,不是泛域名。一个泛域名不包含二级域名本身。例如:*.test.com 不包含二级域名 test.com,但是包含 www.test.com、a.a.test.com 等。子域名可以包含的级别数量没有限制。 关于 Referer 名单的匹配逻辑,参见 Referer 匹配逻辑。 |
允许空 Referer 访问 CDN 资源 | 表示是否接收 Referer 头没有值的请求以及不包含 Referer 头的请求。 |
忽略大小写 | 表示在匹配时,Referer 头部值是否是大小写敏感的。 |
我们通过以下名单配置为例,阐述 Referer 头的匹配逻辑。如果一个请求未匹配白名单或者匹配了黑名单,内容分发网络会拒绝请求并返回 403 响应状态码。
名单配置 | 用户请求中 Referer 头 | 匹配 | 匹配逻辑说明 |
---|---|---|---|
www.test.com1.1.1.12001:0db8:3c4d:0015:0000:0000:1a2f:1a2b*.test.com | http://www.test.com/test.js | 是 | Referer 头中的域名匹配名单。 |
http://www.test.com:80/test.js | 是 | ||
www.test.com | 否 | Referer 头不符合 HTTP 协议规范。规范要求 URL 必须是以下格式之一:scheme://host:port/pathscheme://host:port/scheme://host:portscheme://host/pathscheme://host/scheme://host | |
2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b | 否 | ||
http://2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b | 否 | Referer 头不符合 HTTP 协议规范。规范要求当 host 是一个 IPv6 地址时,该地址必须包裹在 [] 中。 | |
http://[2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b] | 是 | Referer 头中的 IP 地址匹配名单。 | |
http://aaa.test.com | 是 | Referer 头中的多级域名匹配名单中的泛域名条目。泛域名是包含多级域名的。 | |
http://ss.aaa.test.com | 是 | ||
http://test.com | 否 | Referer 头中的二级域名不匹配名单中的泛域名条目。原因是泛域名不包含二级域名本身。 Referer 防盗链 关于空 Referer 操作步骤 Referer 匹配逻辑 |