Cloudflare Docs
Support
Support
Visit Support on GitHub
Set theme to dark (⇧+D)

如何在 Cloudflare 对一个 URL 限制访问 ?

​​ 如何在 Cloudflare 对一个 URL 限制访问 ?

​​ Zone Lockdown

Zone Lockdown 可以指定一个或多个 IP 地址或网络的列表,这些 IP 地址或网络是_唯一被允许_访问域、子域或 URL 的 IP。可以在同一条规则中指定多个目标,并且可以使用 IPv4 和 IPv6 源地址。也可以使用 IP CIDR 范围。未在规则中指定的任何 IP 将被拒绝访问该页面。

​​ 示例 - 仅允许在办公室内访问公司网站

例如,假设您希望将网站测试页面和wiki的访问权限限制为从公司总部和分支机构连接的用户。出于演示的目的,我们假设以下内容:

  1. 网站测试页面在 https://staging.example.com 且 wiki 位于 https://example.com/wiki
  2. 您的公司总部使用 192.0.2.0/24 网络,分支机构 #1 使用 /36,分支机构 #2 通过单个 IPv4 地址连接到外部世界:203.0.133.1。

您可以在 UI 中创建此规则,首先导航到防火墙: https://www.cloudflare.com/a/firewall/example.com

Screenshot_from_2018-03-21_11-09-38.png

您可以轻松指定限制访问的规则,如下所示:

Screenshot_from_2018-03-21_11-15-47.png

您还可以使用我们的 API 创建此规则:

$ curl -X POST -H "X-Auth-Email: $MYEMAIL" -H "X-Auth-Key: $MYAPIKEY" -H "Content-Type: application/json" https://api.cloudflare.com/client/v4/zones/$MYZONETAG/firewall/lockdowns --data \
‘{
"description":"Block all traffic to the staging and wiki unless coming from corporate headquarters or a branch office",
"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"
}
]
}’

该规则将返回给您,以及稍后可用于修改或删除规则的 ID。

{
"result": {
"id":"5da0e8a257cc4fc98cf42ea3bd22dc8f",
"paused": false,
"description":"Block all traffic to the staging and wiki unless coming from corporate headquarters or a branch office",
"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"
}
]
},
"success": true,
"errors": null,
"messages": null
}

以下是用户从未经授权的 IP 访问被限制的 URL 时所看到内容示例: 

Screenshot_from_2017-09-20_10-11-30.png

每个域名可使用的 Zone Lockdown 规则数量取决于计划类型。

计划可用规则数
Free0
Pro3
Business10
Enterprise200

有关更多信息和选项,请参阅 Zone Lockdown的完整 API 文档。