跳转到内容
搜索文档

更新日志

Cloudflare 的最新更新与改进。

Zero Trust Networks 路由终点和 Cloudflare Tunnel 连接字段将于 2026 年 10 月 5 日停用

2026 年 10 月 5 日,两项变更将在 Zero Trust Networks APICloudflare Tunnel API 中生效:移除经过 CIDR 编码的路由终点,且 tunnel list 和 get 响应将不再包含 connections 字段。如果您通过 API、cloudflared、Terraform 或其他集成管理私有网络路由或读取 tunnel 连接详情,请阅读以下部分中的变更说明并在移除日期之前完成迁移。

路由终点

经过 CIDR 编码的路由终点已被弃用,转而使用目前已存在的基于标准 route_id 的终点。这两组终点都是通过 Cloudflare TunnelCloudflare Mesh 路由私有网络(API 仍将 Mesh 节点称为 warp_connector)— 仅请求形状(request shape)发生了变化。

已弃用的终点(将于 2026 年 10 月 5 日移除):

替代终点:

变更内容

已弃用(CIDR 编码路径) 替代方案
路由标识符 路径中经过 URL 编码的 CIDR (/network/{ip_network_encoded}) 路径中的 route_id(创建时 network 移动到请求体中)
创建 POST .../teamnet/routes/network/{ip_network_encoded} 请求体中包含 networktunnel_idPOST .../teamnet/routes
更新 PATCH .../teamnet/routes/network/{ip_network_encoded} PATCH .../teamnet/routes/{route_id}
删除 DELETE .../teamnet/routes/network/{ip_network_encoded} DELETE .../teamnet/routes/{route_id}

需要采取的行动

  1. 通过调用列出 tunnel 路由获取每个路由的 route_id,或者在首次使用替代终点创建路由时从响应中读取它。
  2. 更新任何直接调用经过 CIDR 编码的终点的脚本、后端服务或 CI/CD 流水线。
  3. 如果您使用 cloudflared tunnel route ip add | delete 命令管理路由,请将 cloudflared 升级到最新版本
  4. 如果您使用 Terraform 管理路由,请确保您使用的是最新版本的 cloudflare_zero_trust_tunnel_cloudflared_route 资源以及 Cloudflare Terraform 提供商
# Before: create a route by URL-encoding the CIDR into the path
curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/teamnet/routes/network/172.16.0.0%2F16 \
     -H 'Content-Type: application/json' \
     -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
     -d '{"tunnel_id": "'$TUNNEL_ID'", "comment": "Example comment for this route."}'

# After: create a route with the network in the request body
curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/teamnet/routes \
     -H 'Content-Type: application/json' \
     -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
     -d '{"network": "172.16.0.0/16", "tunnel_id": "'$TUNNEL_ID'", "comment": "Example comment for this route."}'

# After: update or delete a route using its route_id
curl -X PATCH https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/teamnet/routes/$ROUTE_ID \
     -H 'Content-Type: application/json' \
     -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
     -d '{"comment": "Updated comment for this route."}'

curl -X DELETE https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/teamnet/routes/$ROUTE_ID \
     -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Cloudflare Tunnel 和 Cloudflare Mesh 连接

自同一天起,将从 Cloudflare TunnelCloudflare Mesh 节点(cfd_tunnelwarp_connector API 资源)的 list 和 get 响应中移除 connections 数组。请查询专用的连接终点,而不是从 tunnel 或节点对象中读取该字段。

这会影响:

需要采取的行动

从特定于 tunnel 的连接终点获取连接详情,而不是从 list 或 get 响应中解析。对于 Cloudflare Tunnel,请调用 GET /accounts/{account_id}/cfd_tunnel/{tunnel_id}/connections。对于 Cloudflare Mesh,请调用 GET /accounts/{account_id}/warp_connector/{tunnel_id}/connections

# Before: read connections off the tunnel object
curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/cfd_tunnel/$TUNNEL_ID \
     -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

# After: query connections directly
curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/cfd_tunnel/$TUNNEL_ID/connections \
     -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

更新任何从 tunnel list 或 get 响应中解析 connections 的仪表板、监控脚本或自动化。cloudflared 和 Cloudflare Terraform 提供商不读取此字段,因此它们的这一部分更新不需要做任何更改。

做出这些更改的原因

  • 响应更小、速度更快。 具有许多连接的 Cloudflare Tunnel 和 Cloudflare Mesh 节点不再膨胀每次 list 和 get 调用 — 仅在您需要时才获取连接详情。
  • 静态或标识路由的单一方式。 统一使用 route_id 消除了对路径中 CIDR 范围进行 URL 编码的需要,并且与 Zero Trust Networks API 中所有其他资源的寻址方式一致。
  • 跨 API 的一致性。 这两项变更使这些终点与 Cloudflare 针对资源标识符和嵌套详情终点的标准 REST 约定保持一致。

要了解更多信息,请参阅 Zero Trust Networks APICloudflare Tunnel API路由文档。

Cloudflare Mesh 的主机名路由

除了 CIDR 路由之外,您现在还可以向 Cloudflare Mesh 节点添加主机名路由

  1. Requests wiki.internal.local

  2. DNS query
  3. Returns a token IP, then rewrites the destination to the real private IP.

    100.80.0.0/16
  4. Hostname route
  5. Forwards traffic to the host on the local network

  6. Private host

    wiki.internal.local · 10.0.0.50

您可以通过将主机名的流量引导到 Mesh 节点来代替管理 IP 范围:

  • 私有主机名(例如 wiki.internal.local)—— 通过名称访问内部应用程序,这在它具有未知或临时 IP 时非常有用。在 Mesh 上,您不需要运行 DNS 服务器;只需节点上的本地 hosts 文件条目即可,或者您可以使用 Gateway 解析器策略进行 split DNS。
  • 公共主机名(例如 www.example.com)—— 通过该节点路由该主机名的流量,并经由该节点的公共 IP 出站。
Go to Mesh ↗

有关设置步骤、先决条件和 DNS 选项,请参阅主机名路由

在仪表板中通过单页面管理您的所有路由

Cloudflare 仪表板中的 **Routes(路由)**页面现在在单个表格中显示您所有连接器的路由——包括 Cloudflare MeshCloudflare Tunnel 路由,以及 Cloudflare WANMagic Transit 静态路由,而不是每个产品分别显示独立的路由视图。

Cloudflare 仪表板中统一的 Routes 页面,在单个表格中显示各个连接器的路由

在统一的 Routes 页面中,您可以:

  • 通过交互式地图可视化您的网络,该地图显示了您的目的地如何流向您的连接器——包括由多个连接器提供相同前缀服务的等价多路径(ECMP)路由。选择一个节点以过滤表格以显示其后面的路由。
  • 在单个表格中查看每条路由,及其目的地、类型、连接器、优先级和来源,并进行过滤或排序以找到您需要的内容。
  • 创建、编辑和删除路由(支持任何受支持的类型),而无需离开页面。添加 Cloudflare WAN 或 Magic Transit 静态路由时,您现在可以通过连接器名称选择下一跳,而无需输入其 IP。
  • 在专用选项卡中管理虚拟网络
  • 测试路由,以便在提交更改之前查看目的地解析为哪个连接器和下一跳。

要找到它,请前往仪表板侧边栏中的 Networking(网络) > Routes(路由)

Go to Routes ↗

您现有的路由、API 和配置保持不变——这是一个将它们聚集在一个地方的仪表板体验。了解如何添加路由管理虚拟网络

使用 Gateway 策略过滤 Workers 的公共互联网流量

使用 VPC 网络(VPC Network) 绑定(binding)与 network_id: "cf1:network" 的 Workers 现在可以通过 Cloudflare Gateway 出口到公共互联网目标。这意味着您现有的 Zero Trust 流量策略 —— DNS、HTTP、网络和出口(egress)—— 将延伸到源自您的 Workers 的流量,就像今天对 WARP 用户所做的那样。

  1. Calls env.EGRESS.fetch()

  2. VPC binding
  3. Public Internet

    Any public hostname or IP

Gateway logsDNSHTTPNetwork

您默认获得的内容:

  • 可见性。 Worker 出口流量与您的其他流量一起显示在 Gateway DNSHTTP网络 日志中,以便您可以审计您的 Workers 在何时调用了什么。
  • 强制执行。 任何其选择器与 Worker 请求相匹配的现有 Gateway 策略都将适用 —— 包括允许/阻止列表、DNS 类别过滤和 HTTP 目标规则。如果您已经为您的员工屏蔽了某个类别,您的 Workers 将继承该屏蔽。
{
	"vpc_networks": [
		{
			"binding": "EGRESS",
			"network_id": "cf1:network",
			"remote": true,
		},
	],
}
[[vpc_networks]]
binding = "EGRESS"
network_id = "cf1:network"
remote = true
// Egress to a public destination — subject to your Gateway policies and logged
const response = await env.EGRESS.fetch("https://api.example.com/data");
// Egress to a public destination — subject to your Gateway policies and logged
const response = await env.EGRESS.fetch("https://api.example.com/data");

有关配置选项,请参阅 VPC 网络(VPC Networks)。有关策略编写,请参阅 Cloudflare Gateway 流量策略

Cloudflare Mesh 高可用性副本管理

Cloudflare Mesh 仪表板现在显示高可用性节点的单副本详情。您可以查看哪个副本是活动状态,查看每个副本的 Mesh IP 和连接详情,并手动触发故障转移——这一切都可以从节点详情页面完成。

Mesh HA 副本选项卡,显示具有单副本 Mesh IP 的活动和备用副本,以及手动故障转移选项

新增功能

  • 节点详情页面上的副本选项卡——在副本之间切换以查看每个副本的 Mesh IP、边缘数据中心、源站 IP、平台、版本和运行时间。
  • 活动/备用(Active/passive)徽章,用于识别当前正在路由流量的副本。
  • 手动故障转移——只需单击一下即可将备用副本提升为活动状态。先前的活动副本将切换为备用(standby)状态。
  • 概览表中的 HA 徽章,用于识别运行多个副本的节点。
  • 概览表中显示的活动副本 IP——仪表板现在会解析出哪个副本处于活动状态并显示正确的 Mesh IP。

手动故障转移

要手动提升备用副本:

  1. Cloudflare 仪表板中,前往 Networking(网络) > Mesh
  2. 选择启用了 HA 的节点。
  3. 选择备用副本选项卡。
  4. 选择 Promote to active(提升为活动) 并确认。

流量会立即重定向到提升后的副本。有关故障转移行为的详情,请参阅高可用性

Cloudflare Tunnel 和 Cloudflare Mesh 的细粒度权限

您现在可以将 Cloudflare 权限范围限定为单个 Cloudflare Tunnel 实例和 Cloudflare Mesh 节点。管理员可以委派对特定 Tunnel 或 Mesh 节点的访问权限,而无需授予对整个账户中私有网络的控制权。

新增功能

当您添加成员或创建权限策略时,资源选择器现在将 Cloudflare Tunnel 实例和 Cloudflare Mesh 节点列为可限定范围的资源类型。您可以:

  • 向支持操作人员授予对单个 Cloudflare Tunnel 实例的只读角色,以进行日志流传输和诊断,而不会暴露其他 Tunnel 或允许破坏性操作。
  • 向应用程序团队授予对特定 Cloudflare Mesh 节点的写入角色,而无需让他们访问私有网络的其余部分。
  • 将单个策略的范围同时限定为一个或多个 Tunnel 以及 Mesh 节点。

工作原理

细粒度权限是与现有账户级别角色平行的层,它们不会取代后者。

  • 现现的账户级别角色继续有效。 拥有 Cloudflare AccessCloudflare Zero Trust 的成员将保留对账户中每个 Tunnel 和 Mesh 节点的写入访问权限。这确保了与现有自动化和令牌的向后兼容性。
  • 细粒度权限是累加的。 对于针对特定 Tunnel 或 Mesh 节点的任何 API 请求,如果主体具有账户级别角色该资源的细粒度权限,则将授予访问权限。
  • 资源枚举是感知授权的。 列表端点(GET /accounts/{id}/cfd_tunnelGET /accounts/{id}/warp_connector)仅返回主体至少具有只读访问权限的资源。

开始使用