Hero-oo

Hero-oo

email

Cloudflare 双域名实现国内分流加速

〇、效果#

优化前

优化后 1

优化后 2

一、要求#

二、原理#

加速原理其实很简单,就是通过 dnspod 配置 CNAME 将用户访问导入到指定的 cloudflare cdn 服务器上,再通过 cloudflare 设置 cdn 的回退源让 cloudflare cdn 的从真实的服务器上更新缓存。图示:

CDN 分流

三、操作#

大概流程分为三个部分:

  1. 使用 dnspod 对用户访问的域名 www.vikifish.com 进行 CDN 导流
  2. 使用 cloudflare 代理真实服务器 origin.xxx.com
  3. 使用 cloudflare 设置用户通过 cdn 访问 www.vikifish.com 时的回退源 origin.xxx.com

dnspod 分流配置#

dnspod 配置的是你想要给用户访问的域名,此处为 www.vikifish.com(我使用二级域名是因为这个域名是 cloudflare 申请的,自定义 DNS 服务器要收费 😭)。

www.vikifish.com 交由 dnspod 管理

  1. 腾讯云控制台 --> 云解析 DNS --> 我的解析 --> 添加域名,将 www.vikifish.com 添加进来。按操作提示在 DNS 服务商(我是 cf)配置 TXT 记录。
  2. 由于添加的是二级域名,还需要在 DNS 服务商处配置 NS 记录
  3. 成功后云解析这边的域名状态会显示正常

cf

dnspod

使用 dnspod 对 www.vikifish.com 进行导流

配置如下:

dnspod

cloudflare 代理真实服务器#

  1. 将 xxx.com 交由 cloudflare 托管
  2. 配置 DNS 记录,将 origin.xxx.com 指向网站服务器 IP

设置回源策略#

  1. 在 cloudflare 上管理 xxx.com
  2. 打开 SSL/TLS --> 自定义主机名,添加回退源,将 origin.xxx.com 添加到回退源。成功添加后回退源状态显示为 “有效”
  3. 添加自定义主机名,将 www.vikifish.com 添加进去,使用默认配置即可
  4. 此时自定义主机名状态为异常,点击后按提示在 dnspod 中添加 TXT 记录等待片刻即可

四、遇到的问题#

  1. 证书问题
    因为实际上 cf 是从 origin.xxx.com 获取数据,所以服务器需要配置为 origin.xxx.com 的证书,并将 SSL 规则设置为 “完全(严格)”
  2. Error 1034
    这是因为 Cloudflare 的边缘验证检查措施不允许用户指向 1.1.1.1 类似的域。按照 dnspod 分流设置的配置,将境外流量直接导到源服务器 origin.xxx.com 即可
  3. 想使用一级域名访问
    如果你可以自定义域名的 DNS 服务器的话,将教程中的 www.vikifish.com 改成 vikifish.com 也可以,只有少数的 DNS 托管配置与教程不一致,但是配置时都会有提示。
    如果你和我一样,一级域名托管在 cf 上的话,可以直接在 cf 中设置规则,直接使用 Redirect from Root to WWW 模版即可(但是访问一级域名速度没有二级域名快,因为多了 cf 作的重定向)

cf 重定向

Done!

此文由 Mix Space 同步更新至 xLog
原始链接为 https://www.vikifish.com/posts/env/cf-optimize-access-speed-001


加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。