需要一个主域名和一个回源域名使用免费域名这里分了两步第一步是托管子域名 DNS第二步是配置回源第一步不是必选项我这里是为了让主域名也托管在 Cloudflare下面说的阿里云可以用腾讯云 DNSPod 替代。1. 托管子域名通常的操作是把主域名托管在国内 DNS 服务商如 DNSPod 或者阿里云 DNS但是为了稳定起见同时能够快速使用 Cloudflare 的 CDN不使用自定义主机名的话就不能优选这里主域名还是用 Cloudflare 解析然后将子域名托管到国内 DNS 服务商。非常简单如主域名是 app.com在 Cloudflare 新建 NS 类型的子域名解析如 sub1.app.com名称服务器填写阿里云的 NS 服务器地址ns1.alidns.com然后在阿里云 DNS 就可以解析了它会提示“您正在使用独立子域名托管功能”这么做以后随时可以给主域名增加使用 Cloudflare CDN 的子域名如果主域名托管在阿里云就没办法了。2. 配置自定义主机名先将回源域名添加到 Cloudflare 解析回源域名可以申请一个免费域名这个不是给用户访问的。比如回源域名是 tem.com先做一个 A 记录到真实服务器这是最终的访问服务器如 test.tem.com。现在我们将子域名解析到回源域名刚刚的子域名 sub1.app.com 已经是阿里云解析了我们在阿里云 DNS 里可以增加 解析也可以加二级子域名解析这里用二级子域名做示例增加一个二级子域名解析如 sub2.sub1.app.com如果是 就是 sub1.app.comCNAME 到刚刚的 test.tem.com。然后到 Cloudflare 的回源域名的 SSL/TLS 页面下的自定义主机名页面首先配置一个回源这个只在第一次添加时需要后面再增加自定义主机名就不用管了。回源可以是 记录也可以是 A 记录只要在 DNS 解析里有就行。然后添加自定义主机名自定义主机名填用户访问的域名也就是 sub2.sub1.app.comTLS 版本建议选至少 1.2证书验证选择 TXTHTTP 验证不知道怎么弄。下面的自定义源服务器选默认就是前面配置的默认回源也可以自定义比如刚才的 test.tem.com。接下来我们需要验证这个自定义主机名这里是通过阿里云 DNS 的 TXT 解析来验证。注意自定义主机名的条目下有个主机名预验证 TXT 名称和主机名预验证 TXT 值到阿里云解析里增加 TXT 记录。一共验证 2 次第一次应该是 _cf-custom-hostname.sub2.sub1.app.com你在阿里云解析里只用填 _cf-custom-hostname.sub2第二次是 _acme-challenge.sub2.sub1.app.com。这两步应该都有几分钟的延迟第一次验证完成主机状态变成有效证书状态待验证第二次验证完成后证书状态也变成有效两个都绿了说明成功了。验证完成后把 TXT 记录都删了然后会到自定义主机名页面最下方有个“自定义主机名的 DCV 委派”记下这个回到阿里云解析页面增加一个 _acme-challenge.sub2.sub1.app.com 的 CNAME 记录记录值和那个页面上面的一致应该是 sub2.sub1.app.com.随机字符串.dcv.cloudflare.com。最后一步就是优选域名了前面的工作都是为了这一步搜索引擎搜索一下 CF 优选网络有域名有 IP选择一个合适的去阿里云解析页面增加一个 CNAME如果是优选域名或者 A 记录如果是优选 IP注意解析请求来源选个跟默认不一样的不然加不了一般选国内就行了。3. 证书配置最后还是要做好安全配置免费证书有两种方式一个是 Lets Encrypt 签发证书这种方式不再赘述网上介绍很多另一种是使用 Cloudflare 的源服务器证书这个证书只对 Cloudflare 有用好处是不需要续签有效期 15 年。到回源域名的 SSL/TLS 的源服务器页面添加一个 Origin 证书即可域名为 sub1.app.com 和 *.sub1.app.com然后安装到你的服务器上。到这里还没完去主域名和回源域名的 SSL/TLS 页面把加密模式改成完全严格结束