怎样通过CNAME方式接入Cloudflare?加速国外访问和自选节点

CNAME方式接入Cloudflare CDN好处众多,可以通过智能DNS实现国内访问用户走国内CDN,境外用户境外CDN Cloudflare。另外还就可以实现用Cloudflare CDN 自定义节点(cloudflare自选IP)。可是免费CF只允许更改它DNS来接入,且CloudFlare Partner也被取消了。

错过了Partner的时代,官方的CloudFlare for SaaS提供了一种更灵活的CNAME接入方式。保留国内域名DNS服务器不改变的情况下,还能接入国外服务商比如CloudFlare的服务。

CloudFlare for SaaS介绍

CloudFlare for SaaS不是个新功能,但CF调整了免费额度。过去是每个域名收取2USD/月的费用,现在不仅提供100个域名免费额度,而且超额后每个域名按0.1USD/月收取费用,非常良心。

前期准备

通过CNAME方式接入Cloudflare

定义一个回源域名

之前使用过 CloudFlare Partner 应该都知道什么是回源域名,顾名思义用于找源站用的。登录 cloudflare 进入接入的域名 jiemahao.xyz,点击左侧的DNS再点击记录,按下图设置一个“名称”为cname,“内容(即IP)”为你真实源站IP的A记录。小黄云要打开。注:图片中的8.8.8.8一定要改成你的服务器的真实IP。

添加中转域名到Cloudflare

把回源的域名添加到Cloudflare当然你的主域名也可以在其他DNS注册商,华为云,阿里云等等

设置中转信息

新建一个A记录作为回退源,命名为back,IP地址要填真正想访问的地址(想接入的地址),小黄云要打开。

在侧栏点击DNS进入域名解析页面:

cloudflare saas

添加一条记录:

  • 类型:A
  • 名称:任意二级域名(它也支持顶级域名。但由于我自己还需要将ygodl.com跳转到duelmeta.com,因此用了二级域名)
  • 内容:源站IP地址(即你想加速域名它的服务器IP。注如果你已经开启了国内的CDN,也是填写服务器IP,而并非CDN的IP)
  • 代理状态:开(默认)
  • TTL:自动(默认)

然后,保存。

开通SaaS

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

开通SaaS是免费的,但需要绑定信用卡或者paypal, 如果担心CF扣钱,就绑定paypal好了。

设置源站

选择一个承载的域名zone点进去,依然是【SSL/TLS】下的【自定义主机名】,首先要设置附加上域名的源站。在这之前要在承载的域名zone中设置一个子域名作为源站的来源,比如origin.a.com,在Partner或者官方DNS设置好它的源站(注意是是在CF里添加,和正常添加网站的流程一样)。

cloudflare cname方式接入

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

点击“添加回退源”,保存后刷新一下,检测是否有效。有效会显示下图这样:

添加回退源

有些人就会问了,这样设置那不是后续SaaS添加的所有其他域名就只能用同一个源站了?答案确实是这样,为每个SaaS域名自定义源站需要Enterprise以上套餐,有多域名需求多开几个zone吧。

接入域名

当上面显示“有效”,就可以开始接入我们想要加速的域名了。点击 SSL/TLS→自定义主机名→添加自定义主机名

看到以下界面后,将你要加速的域名填入(顶级域名和二级域名都行)。

加速的域名填入

选项中保持默认设置,然后直接点击添加自定义主机名。接下来,Cloudflare会提供两个TXT记录:“证书验证”和“主机名预验证”。

然后我们切换到需要加速域名的服务商这里来设置上面给出的TXT验证。

当你把TXT都设置正确后,返回到cloudflare SaaS界面,就会看到“证书状态”和“主机名状态”都识别成有效了。如下图:

SaaS域名解析

对于添加的SaaS域名,Cloudflare并不会直接提供明确的CNAME记录用于指向。

如果您是通过官方接入的,可以将CNAME直接指向您刚刚设置的源站域名,例如origin.a.com。而如果是通过合作伙伴接入的,可以将CNAME解析到源域名对应的CNAME,例如origin.a.com.cdn.cloudflare.net。

至于其他配置,例如分线路解析和自选IP,您可以根据个人喜好进行设置,我不在此处过多赘述。

自选IP

CloudFlare使用的Anycast技术,所以也就没有什么固定的或者永久优质的IP的说法了。但是在路由的配置上,不同的IP段路由存在着些许的不同。找找还是可以找到适合你的IP来加速你的网站或者魔法的,下面介绍一些找节点方法。

  1. 将主域名接入支持分运营商解析的服务商(如果已经接入,请跳过此步骤)。以下是几个免费的推荐选项:华为云DNS,青云DNS【推荐做法】,或者直接使用Cloudflare。
  2. 使用以下脚本来选择IP,请确保使用不同运营商的设备进行测试:
    • Cloudflare ST:这是最出名的项目,具有强大的功能,但需要下载与您的系统和架构相对应的可执行文件。
    • Better Cloudflare IP:基于.bat和.bash,简单易用,通用性强。

六、主域名指向自选的IP

  • 删除刚刚添加的”TXT”验证记录和CNAME记录。
  • 将主域名指向您自选的IP或者优选域名。
  • 注意:如果您的主域名已经在Cloudflare上,将代理状态改为”仅限DNS”。

CNAME记录指向已经优选IP的域名

  • 本优选域名:speed.marisalnc.com
  • A记录指向已经优选IP 1.0.0.1

智能DNS解析域名

对于域名b.com的设置,您可以使用CNAME记录来分别解析两条线路给a.b.com。其中,一条线路是境外线路,对应的记录值是我Cloudflare的回退源地址back.jiemahao.com;另一条线路是境内线路,对应的记录值是国内服务商提供给您的CDN地址。通过这样的设置,您可以提供全球服务而互不干扰。一般域名服务商都提供免费的简单分线路功能。

提供智能DNS解析国内DNS服务商不少,比如免费的华为云,阿里云等,在“线路类型”这一项中,将其改为“境外”。

如果您发现部分国内访问也通过Cloudflare线路进行了访问,那么您可以将原本直连的A记录或CDN的CNAME记录改为走“境内”。

这样,当我们的网站被国内访问时,将正常地通过国内的直连或CDN进行访问;而当被国外访问时,将通过Cloudflare CDN进行访问。

cloudflare saas cname

如果您在完成上述配置后遇到”重定向过多”的问题,那很可能是由于HTTPS加密模式引起的。

以下是解决方法:

  1. 在源站服务器上配置SSL证书(如果您使用宝塔面板,可以快速申请免费证书)。
  2. 配置完成后,打开Cloudflare控制台,进入”SSL/TLS”设置页面,将加密模式切换为”完全”。
  3. 刷新网页,您应该能够正常访问网站了。

结语

Cloudflare for SaaS是Cloudflare官方提供的一项非常方便的免费功能,它弥补了早期未能通过合作伙伴接入而只能进行强制NS接入的不足之处。它具有官方保障、灵活的CNAME设置以及免费的优点,但也存在一些缺点,例如源站不够灵活。相比已经通过合作伙伴或Plesk接入的域名,它的灵活性肯定稍逊一筹。

原文链接:https://jiemahao.com/cloudflare-cname/,转载请注明出处。
3
显示验证码