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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。