CDN エッジノード(POP)からオリジンサーバーにリダイレクトされたリクエストに Range ヘッダーが含まれている場合、オリジンサーバーは Range ヘッダーで指定されたコンテンツを CDN POP に返します。このプロセスは、Range オリジンフェッチと呼ばれます。Range オリジンフェッチは、ファイル配信を高速化し、キャッシュヒット率を高め、オリジントラフィックとオリジンサーバーの負荷を軽減し、サイトの応答速度を向上させます。
背景情報
Range ヘッダーは、取得するコンテンツの一部を指定する HTTP ヘッダーです。たとえば、Range: bytes=0-100
は、オリジンサーバーがリクエストされたファイルの最初の 101 バイトを返す必要があることを指定します。
Range オリジンフェッチ機能を有効にすると、CDN POP で期限切れになったリソース、またはキャッシュされていないリソースに対するリクエストは、Range ヘッダーを保持したままオリジンサーバーにリダイレクトされます。その後、CDN は、指定されたファイルチャンクをオリジンサーバーから取得し、CDN POP にキャッシュします。
次の図は、Range オリジンフェッチの仕組みを示しています。
注意事項
Range オリジンフェッチ機能を有効にする場合は、次のルールに注意してください。
オリジンサーバーが HTTP 範囲リクエストをサポートしていること、およびオリジンサーバーが HTTP 206 ステータスコード(部分コンテンツメッセージ)でリクエストに応答できることを確認してください。オリジンサーバーが HTTP 範囲リクエストをサポートしていない場合、POP にリソースをキャッシュできない場合、またはクライアントリクエストが失敗した場合に例外が発生する可能性があります。
Range オリジンフェッチ機能はオプションであり、CDN コンソールではデフォルトで無効になっています。
Multipart Ranges 機能はデフォルトで無効になっており、Range オリジンフェッチ機能を有効にしても有効になりません。 Multipart Ranges 機能を有効にするには、チケットを送信 してください。
Range オリジンフェッチ機能を有効にすると、オリジンフェッチのクエリ/秒(QPS)が増加します。オリジンサーバーでレート制限機能が有効になっている場合、オリジンサーバーに送信されたリクエストがスロットルされる可能性があります。この問題を防ぐために、DescribeL2VipsByDomain 操作を呼び出して CDN のオリジンフェッチ POP の IP アドレスをクエリし、これらの IP アドレスをオリジンサーバーの IP アドレスホワイトリストに追加できます。
手順
Alibaba Cloud CDN コンソールにログインします。
左側のナビゲーションウィンドウで、ドメイン名 をクリックします。
ドメイン名 ページで、管理するドメイン名を見つけ、管理 列の アクション をクリックします。
ドメイン名の左側のナビゲーションツリーで、ビデオ関連 をクリックします。
範囲の Back-to-Origin セクションで、変更 をクリックします。
[Range オリジンフェッチ] パラメーターを 無効、クライアントにマッチ、または 有効 (大容量ファイルシナリオに推奨) に設定します。
クライアントにマッチ または 有効 (大容量ファイルシナリオに推奨) を選択した場合は、[シャードサイズ] パラメーターを設定できます。デフォルト値:[512 KB]。
パラメーター
説明
例
範囲の Back-to-Origin
無効
これはデフォルトのオプションです。CDN POP は、リクエストに Range ヘッダーが含まれているかどうかに関係なく、オリジンサーバーからファイル全体を取得します。この場合、ファイル配信効率は大規模ファイル配信シナリオでの期待値よりも低くなります。
クライアントは、
Range: bytes=0-100
を含むリクエストを CDN POP に送信します。CDN POP は、Range ヘッダーなしでリクエストをオリジンサーバーにリダイレクトします。オリジンサーバーはファイル全体を CDN POP に返します。POP は受信したファイルをキャッシュし、Range: bytes=0-100
で指定されたチャンクをクライアントに返します。クライアントにマッチ
クライアントにマッチクライアントが Range リクエストを送信します を選択した後、クライアントが CDN POP に Range リクエストを送信します。CDNオリジンサーバーにリクエストを転送します。 POP はリクエストをオリジンサーバーに転送します。オリジンサーバーにリダイレクトされるリソースへの最初のリクエストの場合、CDNRange ヘッダーの値を最も近い整数に四捨五入します。この場合、シャードサイズの整数倍になります。同じリソースに対する後続のリクエストでは、Range ヘッダーのサイズを は Range ヘッダーの値を最も近い整数(この場合はシャードサイズの整数倍)に切り上げます。同じリソースへの後続のリクエストの場合、Range ヘッダーのサイズを [シャードサイズ]For more information, see Install the ack-onepilot component for an ACK cluster. For more information, see Install the ack-onepilot component for an ACK cluster. 詳細については、「ACK クラスタに ack-onepilot コンポーネントをインストールする」をご参照ください。 詳細については、「ACK クラスタに ack-onepilot コンポーネントをインストールする」をご参照ください。 パラメーターの値に設定できます。
ヒント:[シャードサイズ] パラメーターが [512 KB] に設定されている場合、クライアントは
Range:bytes=0-614399
(600 KB)を含むリクエストを CDN POP に送信します。CDN POP は、最初のリクエストでオリジンサーバーからサイズが 1,024 KB(600 KB から切り上げた最も近い整数)のコンテンツを取得し、後続のリクエストでサイズが 512 KB のコンテンツを取得します。有効 (大容量ファイルシナリオに推奨)
有効 (大容量ファイルシナリオに推奨) を選択すると、CDN POP は、リクエストに Range ヘッダーが含まれているかどうかに関係なく、Range ヘッダーを含めてクライアントリクエストをオリジンサーバーにリダイレクトします。すべての範囲リクエストは、設定されたサイズ([シャードサイズ] パラメーターの値)のコンテンツをオリジンサーバーからプルします。
該当なし
シャードサイズ
512 KB
1 MB
2 MB
4 MB
[Range オリジンフェッチ] パラメーターを クライアントにマッチ または 有効 (大容量ファイルシナリオに推奨) に設定した場合は、[シャードサイズ] パラメーターを設定できます。デフォルト値:[512 KB]。
1 MB
ルール条件
条件を使用しない
ルールエンジン で設定済みのルール条件を選択します。
ルール条件は、リクエスト内のパラメーターを識別して、構成がリクエストに適用されるかどうかを判断できます。
条件を使用しない
OK をクリックします。