Cloudflare Workers™

在边缘运行代码,提供强大的 Web 可扩展性

在边缘应用自定义安全规则和过滤逻辑来检测恶意 Bots 病毒并防止它们消耗资源,从而提高安全性。

将更多个性化和交互性纳入静态 HTML 页面,并在边缘运行动态请求,从而改善用户体验。

将更多操作流程和请求处理转移到边缘,以提高缓存命中率并降低带宽成本,从而降低运营成本。

已经是 Cloudflare 客户? 立即激活

Sensitive internal application and data protected by Cloudflare Access.
"淘汰 VCL 并采用 Cloudflare Workers,让我们得以做些创意路由,比现在更快地向 npm 的数百万用户提供 JavaScript。我们将在 Cloudflare 的平台上构建我们的下一代服务,并在 JavaScript 中实现!"
CJ Silverio,
npm 首席技术官

应用程序消费者格局正在发生变化

在 Cloudflare Workers 推出之前,开发人员可以在两个主要位置部署代码:在最终用户设备上运行的前端代码,或在中央数据中心运行的后端代码。两者都有其缺点。Cloudflare Workers 为开发人员提供了接近客户的第三个位置来部署代码:Cloudflare 不断扩展的全球网络的边缘,因此引入了云数据中心的强大功能和灵活性,以及大规模分布式系统的冗余,而且仅在毫秒之间就能传给几乎每一位互联网用户。

开发人员现在可以构建越来越复杂和动态的应用程序,以满足以下客户的需求:希望拥有具有更大个性化和灵活性的更丰富环境。客户现在可以将现有投资最大化,以实现以下目标:

  • 减少对其原始基础结构的依赖性
  • 提高缓存命中率
  • 简化应用程序与越来越多的 API 通信的方式
  • 为任何设备或网络上的用户提供更好的用户体验
  • 减轻恶意 Bots 对其基础设施的影响
"在 Postmates,客户的信任是最重要的事情。我们需要一种方法来在不占据额外内部资源的情况下执行大量的重新导向工作。Cloudflare Workers 为我们提供了一种更简单的方法,可以在边缘为我们的系统构建灵活性和细粒度控制。"
Aabhas Sharma,
Postmates 基础设施主管

在边缘运行代码,而不是在原点运行代码

Cloudflare Workers 允许开发人员在 Cloudflare 的边缘(更接近最终用户)部署 JavaScript 代码。基于 Service Workers API,开发人员现在能够安全地运行不再绑定到用户设备上的浏览器的代码。 Workers 可以在几秒钟内快速传播到 Cloudflare 的全球基础设施。

提供个性化用户体验

在边缘缓存轻量级静态 HTML 页面,同时根据用户位置、设备类型或时间合并动态内容。运行多个到原点或第三方 Internet 域的后台服务请求。

Quickly and easily add or remove users.
Quickly and easily add or remove users.

提高 API 响应能力

汇总来自多个 API 端点的响应,并作为单个响应返回,从而无需每个端点编译单个响应。每个请求也可以拆分为多个并行请求,然后合并为一个响应。

检测 Bot 活动

针对传入的请求,建立条件性回复,以评估和阻止恶意 Bot 程序完成其请求。设置可以识别并授权合法流量的参数。

  
addEventListener('fetch', event => {
  event.respondWith(fetchAndApply(event.request))
})

async function fetchAndApply(request) {
  if (request.headers.get('user-agent').includes('annoying_robot')) {
    return new Response('Sorry, this page is not available.',
        { status: 403, statusText: 'Forbidden' })
  }

  return fetch(request)
}
  

简化 A/B 测试

通过拦截传入的 HTTP 请求,以及在边缘将内容请求传送至特定控制和测试群组,启用随机化页面选择。

在边缘轻松识别用户

在边缘实施 IP 检测以确定用户的连接位置。实施具有自定义安全规则和过滤器的细粒度访问策略。

  
addEventListener('fetch', event => {
  event.respondWith(fetchAndApply(event.request))
})

async function fetchAndApply(request) {
  if (request.headers.get('cf-connecting-ip') === '225.0.0.1') {
    return new Response('Sorry, this page is not available.',
        { status: 403, statusText: 'Forbidden' })
  }

  return fetch(request)
}
  

简化的导入和示例

除了 Cloudflare 的 Github 资源库中的示例之外,还有大量的代码片段库以及 程序库可供您编译到您的环境中。请加入 Cloudflare Workers 社区网站,向其他用户学习。

主要功能

V8 JavaScript

在边缘应用自定义逻辑表达式以进行路由和缓存

使用 V8 安全沙盒

在所有位置实现快速启动时间

从边缘返回 HTTP 响应

几秒钟内部署到 Cloudflare 的数据中心

预编写的部署配方

基于 W3C 标准的 Service Workers API

"Cloudflare Workers 为我们节省了大量时间。不使用 Workers 来管理 Bot 流量将会消耗在别的地方有更好用途的宝贵的开发资源和服务器资源。"
John Thompson,
MaxMind 的高级系統管理員

每个人都可以开始使用 Cloudflare Workers

Cloudflare 保护并加速 Internet 应用程序和 API。要开始使用 Cloudflare Workers,您需要一个 Cloudflare 计划及活动的 Workers 订阅。

立即激活 已经是 Cloudflare 客户?

适用 Cloudflare 各种方案的 Workers: Free 计划

+ $5/月

前 10M 请求免费;

之后每百万请求 0.50 美元


小于 5 毫秒的 CPU 处理器时间


包括 1 个脚本

适用 Cloudflare 各种方案的 Workers: Pro 计划

+ $5/月

前 10M 请求免费;

之后每百万请求 0.50 美元


小于 10 毫秒的 CPU 处理器时间


包括 1 个脚本

适用 Cloudflare 各种方案的 Workers: Business 计划

+ $5/月

前 10M 请求免费;

之后每百万请求 0.50 美元


小于 50 毫秒的 CPU 处理器时间


包括 1 个脚本

适用 Cloudflare 各种方案的 Workers: Enterprise 计划

定制

定制定价


CPU 处理器时间面议


包括无限脚本