Zone 锁定指定一个或多个 IP 地址、CIDR 范围或网络列表,仅允许这些 IP 访问某个域名、子域名或 URL。您可以在单个 Zone 锁定规则中配置多个目标,包括 IPv4/IPv6 地址。
未在 Zone 锁定规则中指定的所有 IP 地址将无法访问指定资源。来自这些 IP 地址的请求将收到 Access Denied 响应。
Cloudflare Zone 锁定在付费套餐中可用。但是,仅当您至少配置了一条 Zone 锁定规则时,此功能才在新安全仪表板中可用。
可用的 Zone 锁定规则数量取决于您的 Cloudflare 套餐。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
Availability | No | Yes | Yes | Yes |
Number of rules | 0 | 3 | 10 | 200 |
如果您可以访问 Zone 锁定规则
-
在 Cloudflare 仪表板中,前往 Security rules(安全规则) 页面。
Go to Security rules ↗ -
选择 Create rule(创建规则) > Zone lockdown rules(Zone 锁定规则)。
如果此选项不可用,请参阅下方说明。 -
在 Name(名称) 中输入规则的描述性名称。
-
对于 URLs(URL),输入您希望保护、防止未授权 IP 访问的域名、子域名或 URL。您可以使用如
*的通配符。每行输入一项。 -
对于 IP Range(IP 范围),输入一个或多个允许的 IPv4/IPv6 地址或 CIDR 范围,每行一个。仅这些 IP 地址和范围可以访问您在 URLs(URL) 中输入的资源。
-
(可选)如果您创建的 Zone 锁定规则与现有规则重叠,请展开 Advanced Options(高级选项),并在 Priority(优先级) 中为规则输入优先级。数字越小,优先级越高。较高优先级的规则优先。
-
选择 Save and Deploy lockdown rule(保存并部署锁定规则)。
如果您无法访问 Zone 锁定规则
创建一条自定义规则来实现 Zone 锁定:
-
在 Cloudflare 仪表板中,前往 Security rules(安全规则) 页面。
Go to Security rules ↗ -
选择 Templates(模板),然后选择模板 Allow only specified IP addresses(仅允许指定 IP 地址)。
-
填写必填字段并选择 Deploy(部署)。
-
登录 Cloudflare 仪表板 ↗ 并选择您的账户和域名。
-
前往 Security(安全性) > WAF,并选择 Tools(工具) 选项卡。
-
在 Zone Lockdown(Zone 锁定) 下,选择 Create lockdown rule(创建锁定规则)。
-
在 Name(名称) 中输入规则的描述性名称。
-
对于 URLs(URL),输入您希望保护、防止未授权 IP 访问的域名、子域名或 URL。您可以使用如
*的通配符。每行输入一项。 -
对于 IP Range(IP 范围),输入一个或多个允许的 IPv4/IPv6 地址或 CIDR 范围,每行一个。仅这些 IP 地址和范围可以访问您在 URLs(URL) 中输入的资源。
-
(可选)如果您创建的 Zone 锁定规则与现有规则重叠,请展开 Advanced Options(高级选项),并在 Priority(优先级) 中为规则输入优先级。数字越小,优先级越高。较高优先级的规则优先。
-
选择 Save and Deploy lockdown rule(保存并部署锁定规则)。
向 Create a Zone Lockdown rule 操作发送类似如下的 POST 请求:
Required API token permissions
At least one of the following token permissions is required:Firewall Services Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/firewall/lockdowns" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"description": "Block all traffic to staging and wiki unless it comes from HQ or branch offices",
"urls": [
"staging.example.com/*",
"example.com/wiki/*"
],
"configurations": [
{
"target": "ip_range",
"value": "192.0.2.0/24"
},
{
"target": "ip_range",
"value": "2001:DB8::/64"
},
{
"target": "ip",
"value": "203.0.133.1"
}
]
}'以下示例规则仅允许来自公司总部或分支机构的访问者访问预发布环境和 wiki:
-
Name:
Block all traffic to staging and wiki unless it comes from HQ or branch offices -
URLs:
staging.example.com/* example.com/wiki/* -
IP Range:
192.0.2.0/24 2001:DB8::/64 203.0.133.1
此示例不会保护位于不同目录路径(如 example.com/internal/wiki)的内部 wiki。
当匹配到 Zone 锁定规则时,来自未授权 IP 的访问者将收到以下错误: