CloudFlare是一个非常优秀的CDN加速和安全防护服务,做外贸的很多网站都想接入到CloudFlare CDN,但是存在一个问题就是需要修改网站域名的NS服务器。或者是接入CloudFlare CDN后,国内访问容易被墙(但是这时取消CloudFlare CDN后,又可以访问),这是因为国家将CloudFlare的服务器IP加入长城防火墙了(或者服务器解析的DNS被污染了),这对于我们做外贸的很不友好。如何即想使用CloudFlare CDN,又要避免国内访问被墙的问题呢。这时我们就可以通过CloudFlare for SaaS服务中的自定义主机名功能实现,它支持通过CNAME和IP方式接入CloudFlare。
实现条件
- 接入网站和定义别名CNAME的域名都需要开启https,否则会导致“重定向循环”的问题。
- CloudFlare开启CloudFlare for SaaS功能。这一步需要设置支付信息(可以添加PayPal支付绑定银行卡即可),开通后100个域名的额度,超过100个才收费。
- 需要中转域名,即定义CNAME别名的域名,这个中转域名需要使用CloudFlare的NS服务器。
- 只能添加一个回退源,即所有添加的自定义主机名只能转到一个源站。如果想对每个自定义主机名都定义回退源站,需要Enterprise 以上套餐。
- 免费套餐只支持3条页面规则,增加源站后,可能需要设置更多不同的页面规则,这时就需要升级套餐。通过CNAME方式接入的域名,不能使用Argo智能路由和Page Shield。
实现方法
有一个域名A(www.a.com)需要通过CNAME方式接入CloudFlare CDN,而NS服务器采用阿里云或者其他的。我们手中有一个域名B(bluepost.cn)已经开启CloudFlare,并且CF账号已开启CloudFlare for SaaS功能。
1. 添加中转域名的A记录解析地址
登陆CloudFlare,在B域名【DNS】-> 【记录】中添加一个A记录,aSite.bluepost.cn,解析地址为A域名的源服务器IP地址。
2. 添加回退源
在CloudFlare平台,进入B域名 【SSL/TSL】-> 【自定义主机名】,在回退源输入框填写“aSite.bluepost.cn”,点击添加回退源。添加后等两三分钟,再刷新网页,直到添加的回退源状态变为“有效”。
3. 设置接入域名www.a.com
在CloudFlare平台,进入B域名 【SSL/TSL】-> 【自定义主机名】,点击【添加自定义主机名】。在打开的新窗口中,在自定义主机名输入框填写 “www.a.com”,其他默认,提交。
提交后,会生成两个TXT记录,这时进入A域名的解析后台,添加这两条TXT记录验证。添加后,等一会儿新加的“自定义主机名”的证书状态和主机名状态会变成有效。
4. 修改A域名CNAME记录
在A域名解析后台,添加CNAME解析记录,将“www.a.com”解析地址为“aSite.bluepost.cn”。这时如果提示和A记录冲突,需要删除www主机头的A记录。至此我们就完成了CNAME方式接入CloudFlare。
5. 添加A域名国内解析地址
通过以上步骤,网站实现了通过CNAME方式接入CF,但是国内访问还是容易被墙,这时我们需要添加国内线路解析记录。在A域名解析后台,添加A记录,选择国内解析线路,解析地址都为A域名所在的源服务器IP地址。这样国内访问域名就会直接解析到源服务器,而不通过CloudFlare代理,避免了被墙的命运。
转载请注明:半亩方塘 » CloudFlare免费CDN加速通过CNAME和IP方式接入(无需修改NS),让CF变的适合国内使用,避免国内访问被墙