banner
约 900 字
3 分钟

Cloudflare Workers绑定第三方域名提供商

摘要

利用 Cloudflare For SaaS 服务,可将第三方域名绑定至 Worker,无需客户修改 NameServer。操作步骤包括:在主域名设置 AAAA 记录 100:: 并开启代理;配置 Fallback Origin;设置 Worker Routes 将流量指向 Worker;最后在 SSL/TLS 添加自定义主机名,并将生成的 CNAME 和 TXT 记录发给客户配置。

默认自定义域名只可以绑定由自己的Cloudflare账号管理的域名,其实由方法可以绑定第三方域名提供商的域名,Cloudflare有个服务叫做Cloudflare For Saas就是专门解决这个情况的。

它的免费额度是可以绑定100个Custom Host Name,然后每超一个就加$0.1

但是虽然说是免费的,还是要绑定付款方式才可以白嫖,和R2一样。

使用场景

接下来假设这么一个场景:

  • 你有一个域名是xxx.com

  • 你给客户做了一个网站部署到了client-A-worker

  • 客户有自己的域名,不能接受修改NameServer,是client-a.com

  • 你想要让client-a.com的流量指向client-A-worker

步骤

设置100:: DNS Record

先要设置所有流量的入口

xxx.com的DNS Record里添加一条新的AAAA记录

  • 类型 (Type): AAAA

  • 名称 (Name): platform (这个名字可以自定,fallback, proxy 都行,platform 很清晰)

  • IPv6 地址 (Address): 100:: (这是一个“黑洞”保留地址,流量不会真的去这里)

  • 代理 (Proxy): 必须开启 (显示为橙色云)

设置 Fallback Origin

  • xxx.com 域中,进入 SSL/TLS -> 自定义主机名 (Custom Hostnames)

  • 在页面上方找到 Fallback Origin (回退源) 卡片。

  • 在输入框中填入你上一步创建的地址:platform.xxx.com,这里的platform也可以随便改

  • 点击 “Add” (添加)。

  • 稍等片刻,Fallback Origin status (回退源状态) 会变为 Active (绿色)。

配置 Worker Routes

把的client-a.com流量,都交给 client-A-worker来处理

  • xxx.com 域中,进入 Workers Routes 页面。

  • 点击 Add route (添加路由)。

  • 路由 (Route): client-a.com/*

  • 服务 (Service): client-A-worker

  • 点击 Save

接入客户域名 client-a.com

每次有新客户时都需要重复的步骤

  • (你的操作)xxx.comSSL/TLS -> 自定义主机名 页面:

    1. 点击 “Add Custom Hostname”。

    2. 输入 client-a.com

    3. (最佳实践)Certificate validation method (证书验证方法) 改为 HTTP Validation。这能让客户少配一条 TXT 记录。

    4. 点击 “Add”。

  • (你的操作) 复制 DNS 记录,发给客户。

    • 点击刚添加的、处于 Pending 状态的 client-a.com

    • 你现在会看到两条需要客户添加的 DNS 记录。

    • 你把这两条记录发给你的客户。

  • (客户的操作) 客户登录 Namecheap (或他的服务商):

    • 记录 1 (最重要 - 流量 CNAME):

      • 类型: CNAME

      • 主机 (Host): @ (如果他要绑 Apex 域名) 或 www (如果他绑子域名 www.client-a.com)

      • 值 (Value): platform.xxx.com (之前配置的Fallback Origin)

    • 记录 2 (授权 TXT):

      • 类型: TXT

      • 主机 (Host): _cf-custom-hostname (如果绑 Apex) 或 _cf-custom-hostname.www (如果绑子域名)

      • 值 (Value): [Cloudflare 提供的那一长串 UUID 字符串]

END