区域化 Spectrum 应用程序利用 Cloudflare 的第 4 层代理 Spectrum 实现了 HTTP/S 流量的区域化。与利用 Cloudflare 共享任播 IP 地址引导代理主机名的 区域主机名 不同 —— 区域化 Spectrum 应用程序为您主机名分配一个专用 IP,这个 IP 指示针对它的所有流量必须在一个具体的指定区域进行处理。
当您需要区域化通过 IP 寻址的流量时,或者是当您需要将区域服务与 Spectrum 静态 IP 或者 自带 IP (BYOIP) 结合使用时,请选择该选项。
针对您想要区域化的每一个主机名,您创建一个 Spectrum HTTP/S 应用程序。Cloudflare 会为该域区 (zone) 分配一个单独的处理区域,而该区域适用于这区域里的 全部 Spectrum HTTP/S 应用程序 —— 您需要为每个域区配置一个区域,而非每个应用程序。从那时起,通向每个应用程序 IP 的流量都会被终止 TLS,且仅在配置的区域内进行处理,这遵循 区域服务 描述的相同区域内处理模型。
- Spectrum 包括在您的企业版合同内。Spectrum 是作为一个附加组件,所以必须包含在您的合同内才能被启用。
- 您的账户启用了 Regional Services(区域服务) 和 Spectrum 权利。联系您的客户团队启用。
- 您具有想要进行区域化的通过 Cloudflare 代理的一个主机名。
- 如果想要采用您自己的地址,您已经入网了 Spectrum 静态 IP 或者一个 BYOIP 前缀。
-
启用所需的产品。 与您的客户团队合作以在您的账户上启用区域服务和 Spectrum。
-
为每个主机名创建一个 Spectrum 应用程序。 针对每个想要区域化的主机名创建一个 HTTP/HTTPS Spectrum 应用程序。将 应用程序类型 设置成 HTTP/HTTPS 以便让流量经过 Cloudflare 的应用层管道路由。您可以在一个域区里创建多个 Spectrum 应用程序;它们全都共享分配给该域区的那个单一区域。
要去使用您自己的地址,请通过 API 创建该应用程序并设置
edge_ips(附带type: "static") 指向您的 静态 IP 或者 BYOIP 地址。该origin_direct字段依旧指向您的源服务器。Spectrum 主机名限制和解决办法
默认情况下,每个域区限制为 10 个唯一的 Spectrum 主机名 (每个拥有分配给它的专有 IPv4 地址)。如果需要区域化更多的主机名,您可以:
- 使用 BYOIP —— 引入自带 IP 空间,这样 Spectrum 应用程序就不受限于默认的 IPv4 共享分配配额。
- 仅使用 IPv6 Spectrum 应用程序 —— IPv6 地址并没有像 IPv4 那样的稀缺性,所以仅 IPv6 应用程序不计入 IPv4 的主机名限制中。
- CNAME 多个子域名至单个 Spectrum 应用程序 —— 指向多个只提供 DNS 服务的 (灰云)
CNAME记录给到一个 Spectrum 应用程序主机名。这只在这些主机名均共享同一个源服务器 (一个源对应一个应用程序) 时有效。 - 使用 Cloudflare for SaaS —— 将 Spectrum 应用程序配置作为自定义主机名的目标 (后备源)。
这些是全 Spectrum 范围的限制,不仅仅是对区域服务有效。如果您预料会超过限额,请联系您的客户团队。
-
配置处理区域。 区域由 Cloudflare 进行分配,因此请与您的客户团队沟通以确认适用于您域区的 区域 并且验证配置是否成功。您可以使用任何 托管区域 ,或者若托管区域无法达到合规要求,也可以请求 自定义区域 。
-
验证区域化。 确认流量是在预期的区域中被处理。请参阅 验证配置。
您可使用与其他区域服务配置相同的方法去确认区域化情况 —— 一般指引请参阅 验证区域服务行为。
每一个 Cloudflare HTTP 响应都包含了以三个字母 IATA 机场代码 ↗ 为末尾的 CF-RAY 标头以辨别提供 TLS 终止的数据中心。对你区域化的主机名发起一个请求,并检查该代码是否对应于你配置的区域内的数据中心:
curl --head https://www.example.com 2>&1 | grep -i cf-raycf-ray: 80cc9e64fd8a1519-MUC在这个示例中,MUC (慕尼黑) 确认了该请求在欧盟被处理。从区域外发送的请求也会返回区域内数据中心的代码,因为区域外的流量会被转发至配置的区域内进行处理。
如果 托管区域 无法匹配您的合规要求,您可以请求一个自定义区域,将处理限制在特定的一组数据中心上。自定义区域通过您的客户团队建立。想了解自定义区域工作原理的更多内容,请参阅 自定义区域博文 ↗。