区域主机名是使用 区域服务 最常见的方式:您可以为一个代理主机名分配一个区域,Cloudflare 会使用其共享任播 IP 地址将该主机名的流量引导至区域内数据中心进行 TLS 终止及后续处理。如需了解区域化流量的其他方式,请参阅 区域服务的使用方式。
区域主机名支持 托管区域。如果您需要定制区域,请改用 区域化 Spectrum 应用程序 或 区域化 IP 绑定。
您可以通过仪表板或经由 API 来配置区域主机名。
要使用区域服务,您需要首先在仪表板中创建一条 DNS 记录:
-
在 Cloudflare 仪表板中,转到 DNS (记录) 页面。
Go to Records ↗ -
按照这些步骤 创建 DNS 记录。
-
从 Region(区域) 下拉列表中,选择您想要在您的域上使用的区域。此值将应用于相同主机名的所有 DNS 记录。这意味着如果您有两个相同主机名的 DNS 记录并且更改了其中一个的区域,这两个记录都将具有相同的区域。
有关可用区域、其定义和产品支持的完整列表,请参阅 可用区域与产品支持 中的表格。
您也可以通过 API 使用区域服务。
具有超级管理员 (Super Administrator)、管理员 (Administrator) 或域管理员 (Domain Administrator) 角色的用户可以编辑区域服务配置。目前的域管理员只读角色不包含对区域服务配置的读取权限。请使用针对 /addressing/ 端点的 DNS: Read/Write API 权限来读取或写入区域服务配置。
以下是一些 API 请求示例。
列出所有可用区域
Required API token permissions
At least one of the following token permissions is required:DNS ReadDNS Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/regional_hostnames/regions" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"success": true,
"errors": [],
"result": [
{
"key": "ca",
"label": "Canada"
},
{
"key": "eu",
"label": "Europe"
}
],
"messages": []
}创建新的区域主机名条目
Required API token permissions
At least one of the following token permissions is required:DNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/addressing/regional_hostnames" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"hostname": "ca.regional.ipam.rocks",
"region_key": "ca"
}'{
"success": true,
"errors": [],
"result": {
"hostname": "ca.regional.ipam.rocks",
"region_key": "ca",
"created_on": "2023-01-13T23:59:45.276558Z"
},
"messages": []
}列出区域的所有区域主机名或获取特定主机名
Required API token permissions
At least one of the following token permissions is required:DNS ReadDNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/addressing/regional_hostnames" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"success": true,
"errors": [],
"result": [
{
"hostname": "ca.regional.ipam.rocks",
"region_key": "ca",
"created_on": "2023-01-14T00:47:57.060267Z"
}
],
"messages": []
}列出特定区域的所有区域主机名
Required API token permissions
At least one of the following token permissions is required:DNS ReadDNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/addressing/regional_hostnames/$HOSTNAME" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"success": true,
"errors": [],
"result": {
"hostname": "ca.regional.ipam.rocks",
"region_key": "ca",
"created_on": "2023-01-13T23:59:45.276558Z"
},
"messages": []
}修补特定主机名的区域
Required API token permissions
At least one of the following token permissions is required:DNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/addressing/regional_hostnames/$HOSTNAME" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"region_key": "eu"
}'{
"success": true,
"errors": [],
"result": {
"hostname": "ca.regional.ipam.rocks",
"region_key": "eu",
"created_on": "2023-01-13T23:59:45.276558Z"
},
"messages": []
}删除区域配置
Required API token permissions
At least one of the following token permissions is required:DNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/addressing/regional_hostnames/$HOSTNAME" \
--request DELETE \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"success": true,
"errors": [],
"result": null,
"messages": []
}要验证您的区域图是否已正确应用,请检查 Zero Trust 网络会话日志 中的 IngressColoName 字段。此字段显示流量接入的 Cloudflare 数据中心的名称。由于区域化是在 Gateway 的上游应用,因此接入数据中心将位于您配置的区域图内,从而确认流量正在正确的区域中进行处理。
您还可以使用 Terraform 来配置区域服务。有关更多详情,请参阅 Terraform 文档中的 cloudflare_regional_hostname 资源 ↗。