为确保您的 Cloudflare Workers 代码仅在特定地理区域内运行,请在 Workers 自定义域上配置区域服务。这限制了 TLS 终止(流量解密)和代码执行发生的位置。
要为通过 Cloudflare 代理(即流量通过 Cloudflare 路由而不是直接路由到源服务器)的主机名配置区域服务,并确保 Workers 项目的处理仅在区域内发生,请按照以下步骤操作:
-
在 Cloudflare 仪表板中,转到 Workers & Pages 页面。
Go to Workers & Pages ↗ -
选择您的 Workers 项目。
-
按照步骤创建自定义域。
-
在配置的 Workers Custom Domain 上运行 API POST 命令,以创建一个具有特定区域的
regional_hostnames。
区域服务仅适用于为 Workers 项目配置的自定义域。因此,它只会在区域内的 Cloudflare 位置运行。
区域服务限制 Workers 执行的位置(处理请求的位置)。但是,Workers 代码和机密部署在全球所有 Cloudflare 数据中心。区域服务不会阻止代码本身存在于配置的区域之外——只有它的执行是被区域化的。
无论来自哪个区域(zone),到达您的区域化主机名的来自另一个区域或域的请求都将根据您的主机名的区域服务配置进行区域化。区域服务不会扩展到从 Workers 到其他服务的传出子请求——有关详细信息,请参阅限制。
区域服务不适用于其他 Worker 触发器,如 Queues 或 Cron Triggers。
客户元数据边界适用于配置的自定义域,以及 *.workers.dev 子域。
使用客户元数据边界时,Workers Metrics 和 Analytics 在美国区域之外不可用。
将客户元数据边界设置为 EU 后,区域仪表板的 Workers & Pages > Workers > Metrics(指标) 选项卡将不会填充数据。
有关更多信息,请参考 Workers 文档。