列表允许您将 IP 地址、主机名或自治系统号 (ASN) 等项目分组,并在 Cloudflare 规则表达式 中按名称引用它们。无需在每条需要的规则中逐个添加项目,您只需定义一次分组,即可在规则和 zone 之间重复使用。
您可以创建自己的 自定义列表,或使用由 Cloudflare 维护的 托管列表(Managed Lists),例如提供威胁情报数据的托管 IP 列表。
列表具有以下优势:
- 创建规则时,使用 list 比将一长串 IP 地址等项添加到规则表达式更简单且不易出错。
- 更新针对同一 IP 地址(或主机名)组的规则时,使用 IP list(或 hostname list)比编辑多条规则更简单且不易出错。
- List 更易读且信息更丰富,尤其是为 list 使用描述性名称时。
更新 list 内容时,使用该 list 的所有规则会自动更新,因此只需修改 list 一次,无需逐条修改规则。
Cloudflare 在账户级别存储 list。可在 Cloudflare 账户中不同 zone 的规则中使用同一 list。
Cloudflare 支持以下列表:
- 自定义列表:包括自定义 IP 列表、主机名列表和 ASN 列表。
- 托管列表(Managed Lists):由 Cloudflare 管理并更新的列表,例如托管 IP 列表。
详情请参阅各页面。
您也可以在规则表达式中使用 内联列表。内联列表允许您直接在表达式中包含值,而无需先创建单独的列表。但是,对值的任何更改都需要编辑规则本身。
列表名称必须符合以下要求:
- 名称仅使用小写字母、数字和下划线 (
_) 字符。有效名称满足此正则表达式:^[a-z0-9_]+$。 - 列表名称的最大长度为 50 个字符。
您可以在 Cloudflare 仪表板中创建列表,或使用 Lists API(列表 API)。
创建列表后,您可以添加和删除列表中的项目,但不能更改列表名称或类型。
Cloudflare 仪表板和 Cloudflare API 均支持列表:
您可以在仪表板中或通过 API 搜索列表项目。
对于 IP 列表,Cloudflare 会返回以您的搜索查询开头的 IP 地址或范围。例如,搜索 192.0.2 会匹配 192.0.2.1 和 192.0.2.0/24,但搜索 192.0.2.100 不会匹配包含该地址的 CIDR 范围(如 192.0.2.0/24)。
对于批量重定向列表(Bulk Redirect Lists),Cloudflare 会返回源 URL 或目标 URL 包含您的搜索查询的条目。
列表可用性因列表类型以及您的 Cloudflare 套餐和订阅而异。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
Availability | Yes | Yes | Yes | Yes |
Number of custom lists (any type) | 1 | 10 | 10 | 1,000 |
Max. number of list items (across all custom lists) | 10,000 | 10,000 | 10,000 | 500,000 |
IP lists | Yes | Yes | Yes | Yes |
Other custom lists (hostnames, ASNs) | No | No | No | Yes |
Managed IP Lists | No | No | No | Yes |
说明:
-
可用 custom list 数量取决于账户中的最高计划。任何至少有一个付费计划的账户都将获得最高配额。
-
Enterprise 计划客户最多可跨不同 list 类型创建 1,000 个 custom list。以下额外限制适用:
- 最多 40 个 hostname list,所有 hostname list 合计最多 10,000 个 list 项。
- 最多 40 个 ASN list,所有 ASN list 合计最多 30,000 个 list 项。
-
Enterprise 计划客户如需更多 custom list 或更大的 list 项上限,可联系账户团队。
-
有关 Bulk Redirect List 可用性的详情,请参阅 Rules 文档。
以下用户角色可以访问列表管理功能:
- Super Administrator
- Administrator
- Firewall
只有在没有任何规则(无论启用或禁用)引用列表时,才能删除该列表。
当您向现有列表添加项目时(手动或通过 CSV 文件),Cloudflare 将应用以下规则:
- 在更新/添加项目之前,不会删除任何现有列表项目。
- 更新列表中已有的项目。
- 添加列表中尚未存在的项目。
要一次性替换列表的全部内容,请将数据格式化为数组,并使用 Lists API 中的 Update all list items 操作。
Cloudflare 仪表板不支持将列表下载为 CSV 文件。要导出列表内容,请使用 Get list items API 操作。