前言
CloudFlare是很好用的。就是国内速度太慢了。
官方页面只能通过NS方式接入。
之前可以通过 Partner 实现 CNAME 接入,但是似乎是因为用过百度云加速的原因。所以我一直是都接入失败。之后就放弃了。
错过了 Partner 的时代,官方的 CloudFlare for SaaS 也提供了一种更灵活的 CNAME 接入方式,我自己也进行了尝试。
一起来看看吧。[aru_41]
准备工作
辅助域名1个,需要用NS方式接入 CloudFlare 。用于订阅 CloudFlare for SaaS ,
主域名1个,不用接入CloudFlare 。用于你的站点。
配置接入
一、订阅CloudFlare for SaaS
打开一个域名,选择【SSL/TLS】下的【自定义主机名】,点击【启用 CloudFlare for SaaS 】后根据指示绑定外币卡或者 PayPal ,订阅 CloudFlare for SaaS 功能。
激活页面中文翻译比较滞后,从英文的可以看到免费额度已经进行更新,可以放心使用。
二、设置源站
选择一个承载的域名 zone 点进去,依然是【SSL/TLS】下的【自定义主机名】,首先要设置附加上域名的源站。在这之前要在承载的域名 zone 中设置一个子域名作为源站的来源,比如 origin.a.com 。
SaaS 这里的源站叫回退源(Fallback Origin),输入刚才设置的子域名并点击【添加回退源】,它会同步这个子域名设置的源站作为后续在此接入域名的源站。
在DNS选项中要把CDN状态(小黄云)要打开。
IP地址填写源站IP地址。
三、添加自定义主机名
后续的工作就很简单了,点击【添加自定义主机名】,输入你要添加的未在CF接入的子域名。建议直接选择TXT验证,因为除了证书还有另一条TXT记录要添加,一起加上去比较方便。
四、验证域名所有权
添加完成后,按要求解析证书和主机名两个 TXT 记录,解析生效后 10 分钟左右即可验证通过,到此这个 SaaS 域名就正确的添加到了你的 zone 中并接入了CF。
五、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]
参考来自@Luminous
文章有(3)条网友点评
origin.a.com 需要绑定到源站服务器上吗?
@ 堆上小栈 需要。
@ 堆上小栈
[…] 使用 CNAME 接入 Cloudflare 部署境内境外多线 CDN […]