〇、効果#
一、要求#
- dnspod またはその他の国内外分流機能を持つ DNS 解析サイト、この記事では dnspod を使用
- cloudflare アカウント
- 2 つのドメイン。主ドメインはユーザーがアクセスするドメインで、この記事では www.vikifish.com、補助ドメインはバックアップソースに使用するドメインで、この記事では origin.xxx.com を指します
二、原理#
加速原理は実際には非常にシンプルで、dnspod を通じて CNAME を設定し、ユーザーのアクセスを指定された cloudflare cdn サーバーに導入し、cloudflare を通じて cdn のバックアップソースを設定して cloudflare cdn が実際のサーバーからキャッシュを更新するというものです。図示:
三、操作#
大まかな流れは 3 つの部分に分かれます:
- dnspod を使用してユーザーがアクセスするドメイン www.vikifish.com に対して CDN を導流
- cloudflare を使用して実際のサーバー origin.xxx.com を代理
- cloudflare を使用してユーザーが cdn を通じて www.vikifish.com にアクセスする際のバックアップソース origin.xxx.com を設定
dnspod 分流設定#
dnspod で設定するのはユーザーがアクセスしたいドメインで、ここでは www.vikifish.com(私はこのドメインが cloudflare に申請されたため、カスタム DNS サーバーは有料です 😭)。
www.vikifish.com を dnspod に管理させる
- テンセントクラウドコンソール --> クラウド解析 DNS --> 私の解析 --> ドメインを追加し、www.vikifish.com を追加します。操作の指示に従い、DNS サービスプロバイダー(私は cf)で TXT レコードを設定します。
- 二次ドメインを追加したため、DNS サービスプロバイダーで NS レコードを設定する必要があります
- 成功すると、クラウド解析のドメインステータスが正常と表示されます
dnspod を使用して www.vikifish.com に導流を行う
設定は以下の通り:
cloudflare で実際のサーバーを代理#
- xxx.com を cloudflare にホスティングさせる
- DNS レコードを設定し、origin.xxx.com をウェブサーバーの IP に指す
バックアップソースポリシーの設定#
- cloudflare で xxx.com を管理
- SSL/TLS を開き --> カスタムホスト名を選択し、バックアップソースを追加し、origin.xxx.com をバックアップソースに追加します。成功するとバックアップソースのステータスが「有効」と表示されます
- カスタムホスト名を追加し、www.vikifish.com を追加し、デフォルト設定を使用します
- この時、カスタムホスト名のステータスが異常となり、クリック後に指示に従って dnspod に TXT レコードを追加し、しばらく待つだけです
四、遭遇した問題#
- 証明書の問題
実際には cf は origin.xxx.com からデータを取得するため、サーバーは origin.xxx.com の証明書を設定し、SSL ルールを「完全(厳格)」に設定する必要があります - Error 1034
これは Cloudflare のエッジ検証チェックがユーザーを 1.1.1.1 のようなドメインに指向させないためです。dnspod の分流設定に従い、海外トラフィックを直接ソースサーバー origin.xxx.com に導入すれば良いです - ルートドメインでアクセスしたい
ドメインの DNS サーバーをカスタマイズできる場合、チュートリアルの www.vikifish.com を vikifish.com に変更することも可能です。少数の DNS ホスティング設定がチュートリアルと一致しない場合がありますが、設定時には必ず指示があります。
私と同じように、ルートドメインが cf にホスティングされている場合は、cf でルールを直接設定し、Redirect from Root to WWW テンプレートを使用すれば良いです(ただし、ルートドメインのアクセス速度は二次ドメインより遅くなります。cf によるリダイレクトが追加されるためです)
完了!
この記事は Mix Space によって xLog に同期更新されました
元のリンクは https://www.vikifish.com/posts/env/cf-optimize-access-speed-001