You need to enable JavaScript to run this app.
导航
Origin 黑白名单
最近更新时间:2024.09.23 10:45:26首次发布时间:2022.03.15 00:07:44

本文档介绍如何在火山引擎内容分发网络(CDN)中配置 Origin 黑白名单。

概述

Origin 是用户请求中的一个请求头,表示请求是来自哪个站点的。Origin 头部包含协议,域名和端口,不包含路径与查询字符串。端口号是可选的。

Origin 头部的作用之一是防盗链。您可以为您的站点配置一个 Origin 黑名单以拒绝来自指定域名的请求。或者您可以为您的站点配置一个 Origin 白名单只允许接受来自指定域名的请求。

空 Origin

"空 Origin" 的定义是 Origin 头部没有值或者请求中不包含 Origin 头部。

说明

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

功能优先级

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

操作步骤

  1. 登录 火山引擎内容分发网络控制台
  2. 在左侧导航栏,点击 域名管理
  3. 域名管理 页面,找到需要配置的域名,点击 管理
  4. 在域名页面上,点击 访问控制 页签。
  5. 在页面右上方,点击 编辑配置
  6. Origin 黑白名单 下方,设置 状态 为启用。
  7. 参照下方 配置说明 配置。
  8. 在页面右上方,点击 提交编辑

alt

配置说明

配置说明

类型

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

  • 白名单:当您只想允许来自某些站点的请求时,可以配置 Origin 白名单。如果用户的请求不匹配白名单,CDN 拒绝请求并且响应 403 状态码

  • 黑名单:当您只想阻止来自某些站点的请求时,可以配置 Origin 黑名单。如果用户的请求匹配了黑名单,CDN 拒绝请求并且响应 403 状态码。

常规名单(输入框)

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

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

关于泛域名和子域名

  • 泛域名不包含域名本身。例如:*.example.com 不包含二级域名 example.com,但是包含 www.example.coma.a.example.com 等。

  • 子域名的级别数量没有限制。例如,您可以指定一个子域名为 aaa.bbb.ccc.ddd.eee.fff.ggg.eee.example.com。关于 Origin 名单的匹配逻辑,参见 Origin 匹配逻辑

允许空 Origin 访问 CDN 资源 / 不允许空 Origin 访问 CDN 资源

表示 CDN 是否接受 Origin 为空的请求。参见 空 Origin

  • 如果 类型黑名单,该选项是 允许空 Origin 访问 CDN 资源。如果您勾选该选项,CDN 接受 Origin 为空的请求。
  • 如果 类型白名单,该选项是 不允许空 Origin 访问 CDN 资源。如果您勾选该选项,CDN 拒绝 Origin 为空的请求。
忽略大小写表示 CDN 在尝试将名单中的条目与请求中的 Origin 头部匹配时,匹配过程是否是大小写敏感的。勾选该选项示匹配过程是大小写不敏感的。

Origin 匹配逻辑

我们通过以下名单配置为例,阐述 Origin 头部的匹配逻辑。如果一个请求未匹配白名单或者匹配了黑名单,CDN 会拒绝请求并返回 403 响应状态码。

名单配置用户请求中 Origin 头部匹配名单匹配逻辑说明
  • www.test.com

  • 1.1.1.1

  • 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b

  • *.test.com

http://www.test.com

Origin 头部中的域名匹配名单。

http://www.test.com:80

www.test.com

Origin 头部不符合 HTTP 协议规范。规范要求 Origin 头部部值必须是以下格式之一:

  • scheme://host:port

  • scheme://host

2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b

http://2001:0db8:3c4d:0015:0000:0000:1a2f:1a2bOrigin 头部不符合 HTTP 协议规范。规范要求当 host 是一个 IPv6 地址时,该地址必须包裹在 [] 中。
http://[2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b]Origin 头部中的 IP 地址匹配名单。

http://aaa.test.com

Origin 头部中的多级域名匹配名单中的泛域名条目。泛域名是包含多级域名的。

http://ss.aaa.test.com
http://test.comOrigin 头部中的二级域名不匹配名单中的泛域名条目。原因是泛域名不包含二级域名本身。