PuppyIP 资源中心
开发工具与网络 6 分钟 发布于 2026-10-16

Cloudflare Gateway Workers 公测:Forward 策略怎么配,哪些流量会绕过

Cloudflare Gateway 的 Forward 动作现已公开 Beta,可把符合条件且已放行的 HTTP 请求交给同一账户中的 Worker 处理,无需另行运维 HTTP 代理。功能面向所有 Zero Trust 计划开放,但 Worker 用量按常规 Workers 价格计费;测试前先确认 HTTPS 解密和策略顺序。

Cloudflare Gateway Cloudflare Workers Forward 策略 Zero Trust HTTP 流量

服务对象与地域限制

PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。

代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。

本文要点

  • Forward 已在所有 Cloudflare Zero Trust 计划进入公开 Beta;Worker 用量仍按常规 Workers 价格计费。
  • 只有匹配 Forward 策略且未被请求策略拦截的 HTTP 流量会调用 Worker;同一账户需先部署 Worker。
  • HTTPS 流量需要 TLS 解密。Do Not Inspect、WebSocket、HTTP CONNECT 隧道和协议升级不会经过 Worker。
  • body 检查的 Block 决定可以中断 Worker;Worker 被删除后,残留策略可能让匹配请求返回 HTTP 500。

公开 Beta 开放给谁,Worker 是否另收费?

Cloudflare 于 2026 年 10 月 15 日将 Gateway 与 Workers 集成开放为公开 Beta,适用于所有 Zero Trust 计划。Forward 是 Gateway HTTP 策略中的动作,可把匹配并获准的流量交给你账户中的 Worker。

Beta 可用范围不代表 Worker 计算免费。Cloudflare 说明 Workers 用量按常规 Workers 价格计费;这次公告没有提供具体费率,也没有宣布把计算费用包含在 Zero Trust 套餐中。

请求按什么顺序到达 Worker?

Gateway 先评估 HTTP 请求策略,再进入 Forward 阶段,之后运行 body 策略和检查。若多个 Forward 策略都匹配,优先级最高的首个匹配项选择 Worker;前面的 Block 会阻止调用。Allow 不会跳过 Forward,而 Forward 也不能推翻 Block。

Gateway 负责代理连接、TLS 解密和上游路由。Worker 收到 HTTP Request,以及可用时的连接元数据、用户身份和设备状态;它可以修改请求或响应、返回自定义页面,或启动后台任务。Gateway 会在响应返回前检查最终响应。

请求体检查可能中断已经开始运行的 Worker。因此,看到 Worker 被调用并不表示 body 检查已通过,也不等于请求最终获准到达目标服务。

创建策略前需要准备什么?

先在同一个 Cloudflare 账户中配置 Workers 与 Gateway,并部署 Worker、启用账户的 Workers 子域名。文档说明 Worker 不需要公开路由。

让测试设备的流量经过 Gateway HTTP filtering。对 HTTPS 流量,还需要启用 TLS 解密,并在测试设备上安装受信任的根证书;没有解密的流量不能按普通可检查的 HTTPS 请求送入 Forward。

先新建只匹配一个测试主机和测试用户或设备组的 HTTP 策略。可用 Host、URL、HTTP Method 等请求元数据条件,也可增加身份或设备状态条件;将动作设为 Forward,再选择已部署的 Worker。

怎样确认测试请求确实运行了 Worker?

Worker 需要实现 GatewayMiddleware 入口;Gateway 调用的是 GatewayMiddleware.handle,而不是普通 fetch 处理函数。先让单个测试用户访问策略匹配的主机,再按官方示例检查响应中是否有 x-gateway-worker: gateway-worker 标记。

如果标记缺失,依次核对设备是否经过 Gateway HTTP filtering、HTTPS 是否完成解密、Do Not Inspect 是否绕过检查,以及请求是否被更早的 Block 或 Forward 策略处理。Cloudflare 也建议查看 Workers Logs;脚本失败时先停用这条测试策略,再排查入口函数和响应格式。

哪些流量不会经过 Forward?

Do Not Inspect 流量会绕过 Forward。WebSocket 会直接连到原上游,不把升级请求或消息交给 Worker;HTTP CONNECT 隧道、其他协议升级和 trailers 也不由所选 Worker 处理。不要把这项 Beta 当作覆盖所有协议的通用代理链路。

Gateway 的 body 检查若作出 Block 决定,可以中断 Worker。对每一种要处理的流量,都应先在小范围策略中确认协议类型、检查顺序和实际响应,再考虑扩大匹配范围。

删除 Worker 前为什么要先改策略?

Gateway 在保存 Forward 策略时解析所选 Worker。之后直接删除 Worker 不会同步删除或停用策略;匹配请求可能返回 HTTP 500,且不会到达原上游。

如果要下线 Worker,先把所有引用它的 Forward 策略改指向其他已部署 Worker,或删除这些策略。随后再验证匹配请求不再命中旧策略,避免把脚本删除误当作策略回滚。

资料来源

常见问题

所有 Zero Trust 计划都包含免费的 Worker 执行吗?

Forward 公测面向所有 Zero Trust 计划,但 Worker 用量仍按常规 Workers 价格计费。官方公告没有说明计算费用被套餐包含,也没有在这次更新中给出具体费率。

Worker 必须开放 workers.dev 公开路由吗?

不需要公开路由,但它必须先部署在与 Gateway 策略相同的 Cloudflare 账户中,并满足文档要求的 Workers 子域名配置。

Forward 能处理 WebSocket 或 CONNECT 隧道吗?

不能。WebSocket、HTTP CONNECT 隧道、协议升级和 trailers 会绕过所选 Worker;Do Not Inspect 流量也不会进入 Forward。

删除 Worker 后,已有 Forward 策略会自动停用吗?

不会。策略仍然存在,匹配流量可能返回 HTTP 500 且不再到达上游。删除 Worker 前应先更新或删除引用它的策略。