了解如何将 Worker 用作 SaaS zone 的备用源站(fallback origin)。 如果您在 Cloudflare Workers 上构建应用程序,可以将 Worker 用作 SaaS zone 的源站(也称为备用源站)。
当客户将其域名指向您的 SaaS zone 时(例如,mystore.customer.com CNAME 到 service.saasprovider.com),其流量会进入您的 Cloudflare zone。您在 zone 上配置的任何 Worker 路由都会匹配这些入站流量。
例如,如果您有:
- 您的 SaaS zone:
saasprovider.com - 您的备用源站:
service.saasprovider.com - 客户的自定义主机名:
mystore.customer.com(通过 CNAME 指向您的 zone) - Worker 路由:
*/*
当访问者请求 mystore.customer.com 时,Cloudflare 会通过您的 zone 路由该请求。*/* 路由模式会匹配进入您 zone 的所有流量,包括来自 mystore.customer.com 等自定义主机名的流量。
-
在您的 SaaS zone 中,创建并设置备用源站。确保备用源站仅有 无源站 DNS 记录:
- 示例:
service.example.com AAAA 100::
- 示例:
-
在同一 zone 中,前往 Workers Routes。
-
点击 Add route(添加路由)。
-
配置将流量发送到您的 Worker 的路由。根据需求选择以下选项之一:
-
将所有流量路由到 Worker(大多数 SaaS 应用的推荐方式):
- Route(路由):
*/* - Worker:选择用于您 SaaS 应用的 Worker。
此模式会将进入您 zone 的所有流量路由到 Worker,包括来自自定义主机名的请求(例如
mystore.customer.com)以及对您自己子域名的请求(例如app.saasprovider.com)。 - Route(路由):
-
将除特定路由外的所有流量路由到 Worker:
- Route(路由):
*/* - Worker:选择用于您 SaaS 应用的 Worker。
- 为您 zone 自身的主机名再添加一条路由,并将 Worker 设为 None(无),以排除它们。
例如,如果您的 zone 是
saasprovider.com,且希望api.saasprovider.com绕过 Worker,请再创建一条api.saasprovider.com/*路由且不分配 Worker。更具体的路由优先于通配符路由。 - Route(路由):
-
仅将自定义主机名流量路由到 Worker:
-
Route(路由):
vanity.customer.com -
Worker:选择用于您 SaaS 应用的 Worker。
-
-
点击 Save(保存)。
- 主机名路由 - 了解高级路由模式,包括 dispatch Workers 和 O2O 行为。
- Workers 路由 - 了解有关路由模式匹配和有效性规则的更多信息。