跳转到内容
搜索文档

工作原理

最后更新 查看 MarkdownAgent 设置

O2O 是一种特定的流量路由配置,其中流量经过两个 Cloudflare zone:第一个 Cloudflare zone 由客户 1 拥有,第二个 Cloudflare zone 由客户 2 拥有,客户 2 被视为 SaaS 提供商。

如果一个或多个主机名加入了将 Cloudflare 产品(特别是 Cloudflare for SaaS 产品)作为平台一部分使用的 SaaS 提供商,这些主机名将在 SaaS 提供商的 zone 中创建为自定义主机名

要授予 SaaS 提供商通过其 zone 路由流量的权限,任何自定义主机名都必须由您(SaaS 客户)通过在权威 DNS 上放置 CNAME 记录 来激活。如果您的权威 DNS 是 Cloudflare,您可以选择代理 CNAME 记录,从而实现 O2O 设置。

前提条件

  • O2O 仅在两个 zone 属于不同 Cloudflare 账户时适用。
  • 由于 O2O 基于 CNAME,当使用 A 记录指向 SaaS 提供商时不适用(apex proxying)。

启用 O2O 时

如果您拥有自己的 Cloudflare zone(example.com),且该 zone 包含与自定义主机名(mystore.example.com)匹配的已代理 DNS 记录,且 CNAME 目标由 SaaS 提供商定义,则将启用 O2O。

example.com 的 DNS 管理

Type(类型) Name(名称) Target(目标) Proxy status(代理状态)
CNAME mystore customers.saasprovider.com Proxied

启用 O2O 后,您 Cloudflare zone 中配置的设置将首先应用于流量,然后 SaaS 提供商 zone 中配置的设置将其次应用于流量。在 SaaS 提供商拥有的 zone 中,HTTP 标头将被设置为 cf-connecting-o2o: 1

flowchart TD
accTitle: O2O-enabled traffic flow diagram

A[Website visitor]

subgraph Cloudflare
  B[Customer-owned zone]
  C[SaaS Provider-owned zone]
end

D[SaaS Provider Origin]

A --> B
B --> C
C --> D

检测 O2O 流量

当流量通过 O2O 配置时,Cloudflare 会在进入 SaaS 提供商 zone 的请求上设置 HTTP 标头 cf-connecting-o2o: 1。没有 API 字段或 zone 设置指示 O2O 是否处于活动状态——这是由客户 DNS 配置决定的按请求路由行为。

您可以在源站服务器或 Cloudflare Worker 中检查此标头,以识别 O2O 流量并应用特定逻辑。

未启用 O2O 时

如果您没有自己的 Cloudflare zone,而只是将一个或多个主机名加入了 SaaS 提供商,则不会启用 O2O。

未启用 O2O 时,SaaS 提供商 zone 中配置的设置将应用于流量。

flowchart TD
accTitle: Your zone using a SaaS provider, but without O2O

A[Website visitor]

subgraph Cloudflare
    B[SaaS Provider-owned zone]
end

C[SaaS Provider Origin]

A --> B
B --> C

这篇文档对您有帮助吗?