使用 CNAME 接入 Cloudflare 部署境内境外多线 CDN

凛酱 251 0

前言

CloudFlare是很好用的。就是国内速度太慢了。
官方页面只能通过NS方式接入。
之前可以通过 Partner 实现 CNAME 接入,但是似乎是因为用过百度云加速的原因。所以我一直是都接入失败。之后就放弃了。

错过了 Partner 的时代,官方的 CloudFlare for SaaS 也提供了一种更灵活的 CNAME 接入方式,我自己也进行了尝试。

一起来看看吧。[aru_41]

原文来自@Luminous

使用 CNAME 接入 Cloudflare 部署境内境外多线 CDN

准备工作

辅助域名1个,需要用NS方式接入 CloudFlare  。用于订阅 CloudFlare for SaaS ,

例如 : a.com

主域名1个,不用接入CloudFlare 。用于你的站点。
例如 : b.com

配置接入

一、订阅CloudFlare for SaaS

打开一个域名,选择【SSL/TLS】下的【自定义主机名】,点击【启用 CloudFlare for SaaS 】后根据指示绑定外币卡或者 PayPal ,订阅 CloudFlare for SaaS 功能。

使用 CNAME 接入 Cloudflare 部署境内境外多线 CDN

激活页面中文翻译比较滞后从英文的可以看到免费额度已经进行更新,可以放心使用。

使用 CNAME 接入 Cloudflare 部署境内境外多线 CDN

二、设置源站

选择一个承载的域名 zone 点进去,依然是【SSL/TLS】下的【自定义主机名】,首先要设置附加上域名的源站。在这之前要在承载的域名 zone 中设置一个子域名作为源站的来源,比如   origin.a.com 。

使用 CNAME 接入 Cloudflare 部署境内境外多线 CDN

SaaS 这里的源站叫回退源(Fallback Origin),输入刚才设置的子域名并点击【添加回退源】,它会同步这个子域名设置的源站作为后续在此接入域名的源站。

在DNS选项中要把CDN状态(小黄云)要打开。

IP地址填写源站IP地址。

使用 CNAME 接入 Cloudflare 部署境内境外多线 CDN

 

三、添加自定义主机名

后续的工作就很简单了,点击【添加自定义主机名】,输入你要添加的未在CF接入的子域名。建议直接选择TXT验证,因为除了证书还有另一条TXT记录要添加,一起加上去比较方便。

使用 CNAME 接入 Cloudflare 部署境内境外多线 CDN

四、验证域名所有权

添加完成后,按要求解析证书和主机名两个 TXT 记录,解析生效后 10 分钟左右即可验证通过,到此这个 SaaS 域名就正确的添加到了你的 zone 中并接入了CF。
使用 CNAME 接入 Cloudflare 部署境内境外多线 CDN

五、SaaS域名解析

添加进去的SaaS域名,CF 并不会给你提供明确的 CNAME 供指向。如果是官方接入的可以直接CNAME到你刚刚设置的源站域名比如 origin.a.com ,通过 Partner 接入的直接解析到源域名对应的 CNAME 比如 origin.a.com.cdn.cloudflare.net 即可。其他的配置比如分线路解析、自选IP就可以按照自己的喜好去设置了,在此不过多赘述。

此外,对于防火墙规则、页面规则,直接将添加进的域名输入其中即可圈定范围,完成对于其细则的设置。

容易忽略的一些坑

当我第一次开启成功之后。发现境外所有的链接都在无线301跳转。
百思不得其解,最后找了一大圈才找到原因。
这个故障的总结分析:出现这个故障的大部分服务器都是因为服务器端使用了强制 HTTPS ,CloudFlare 的 Flexible 策略原理是:用户访问时使用HTTPS访问到CF的节点,然后 CF 通过 HTTP 方式回源到你的服务器去读取数据,这个时候对于你的服务器来说, CF 就是访客,所以服务器返回的状态都是 301。解决方法很简单,将 SSL 策略设为 Full 或者 Full (strict) 就能解决。

 

总结

CloudFlare for SaaS是官方提供的一项非常方便的免费功能,弥补了早期未通过 Partner 接入只能强制 NS 接入的缺憾。有官方保障、灵活 CNAME 、免费的优点,也有源站不灵活等缺点,肯定还是不如已经通过Partner/Plesk接入的域名灵活。

 

没啥说的,CloudFlare和甲骨文才是真正的业界良心,人家才是良心云好吧[aru_1]

发表评论 取消回复
表情 图片 链接 代码

分享