デフォルトのHTTP動作をオーバーライドする -
HTTP Rules Engine チュートリアル:ルールの作成および管理

適用対象:
HTTP Large
HTTP Small
ADN

HTTP Rules Engine機能はHTTPリクエストの処理方法をカスタマイズします。この機能のサンプル使用法を以下に示します。

このチュートリアルは2つのルールの作成について説明します。最初のサンプルルールはすべてのリクエストのキャッシュポリシーを定義し、2つ目のサンプルルールは XMLコンテンツおよびXLSコンテンツに異なるキャッシュポリシーを定義します。2 つ目のルールの位置ルールは、リクエストに適合する最も下に近いルールを優先し、上から下に処理されます。最初のルールのオーバーライドを許可します。

キャッチオールルールの作成

HTTP Large、HTTP Small、ADNリクエストの処理方法をカスタマイズするかどうかを最初に決定します。目的のプラットフォームに該当するタブを選択し、Rules Engineタブに移動します。Rules Engineページはルール作成のオプションを表示します。

注:HTTP Rules Engine機能が有効な場合のみ、ルールを表示、作成できます。この機能は別売りです。詳細については、お客様担当のCDNアカウントマネージャーにお問い合わせください。

ルールに名前を付けます。この名前は作成されるルールの目的を説明するようにしてください。これは特に複数のルールを利用する場合に重要です。[名前/説明]オプションで、「デフォルトの内部および外部Max-Age」と入力します。

「常に」が「IF」オプションの横で選択されているか確認します。「常に」によって、リクエストされたすべてのコンテンツが示した通りに処理されます。

注:「常に」一致オプションで定義されるデフォルトの動作はオーバーライドできます。これは、このチュートリアルで後述します。

次に、デフォルトでリクエストされたすべてのコンテンツの処理を決定します。

  1. 「機能」の横に表示されるボタンをクリックします。新規機能オプションがその横に表示されます。
  2. 内部 Max-Age の強制使用」オプションを選択します。
  3. エッジサーバーがオリジンサーバーに新しいコンテンツがあるかチェックを開始するまでの時間に「6」を入力します。
  4. 時間単位に「時間数」を選択します。

これで、最初にコンテンツがリクエストされて6時間後に、オリジンサーバーから新規バージョンのコンテンツがあるかどうかチェックできるように、エッジサーバーの設定が完了しました。

次に、ルールに別機能を追加します。この新しい機能は、HTTPクライアント (ブラウザなど) がエッジサーバーからリクエストされたコンテンツに更新があるかどうかチェックを開始するまでの時間を決定します。

  1. 追加したばかりの「機能」の横に表示されるボタンをクリックします。設定したばかりの「機能」の直下に新しい機能ボタンが表示されます。
  2. 新しい機能として「外部 Max-Age 」を選択します。
  3. ブラウザがエッジサーバーからリクエストされたコンテンツが更新されたかどうかチェックを開始するまでの時間に「6」を入力します。
  4. 時間単位に「時間数」を選択します。

ルールは以下に示すようになります。

追加をクリックして、この新しいルールを作成します。新しいルールが承認待ちになります。承認されると、ステータスが「保留中XML」からアクティブXML」に変わります。さらに重要なことに、ルールがリクエストされたコンテンツのデフォルトのmax-ageを7日から6時間に変更します。

XML/XLS特定ルールの作成

上記で設定されたデフォルトの動作が、ほとんどのコンテンツで正常に機能すると仮定します。ところが、頻繁に更新されるコンテンツ (XMLおよびXLSなど) では望ましくない場合もあります。このシナリオを考慮して、別のルールを作成する必要があります。この新しいルールは、エッジサーバーがXMLおよびXLSコンテンツを特定または一致させることができる基準を提供する必要があります。これらを特定したら、このようなコンテンツがリクエストされた場合の処理を決定する必要があります。

別のルールを最初に作成する必要があります。[規追加]または[追加]をクリックして、別のルールを作成します。再度、この新しいルールに名前を割り当てる必要があります。[名前/説明]オプションで、「XMLコンテンツおよびXLSコンテンツのデフォルトの内部および外部 Max-Age」と入力します。

XMLコンテンツおよびXLSコンテンツのリクエストの処理方法に対応したルールを作成する最も簡単な方法は、URLパス拡張子一致オプションを使用することです。

  1. IFオプションの横の「URL パス拡張子」を選択します。
  2. その横で「一致」が選択されているか確認します。
  3. 「xml xls」を[値]オプションで入力します。
  4. [大文字小文字を区別しない]オプションがマークされていることを確認します。

ルールは以下に示すようになります。

次に、XMLまたはXLSコンテンツがリクエストされた場合の処理を決定します。

  1. 「機能」の横に表示されるボタンをクリックします。[新規機能]オプションがその横に表示されます。
  2. [内部 Max-Age の強制使用]オプションを選択します。
  3. エッジサーバーがオリジンサーバーに新しいコンテンツがあるかチェックを開始するまでの時間に「5」を入力します。
  4. 時間単位に「分数」を選択します。

この設定によって、エッジサーバーは、最初にコンテンツがリクエストされてから 5 分後に、オリジンサーバーから新規バージョンのコンテンツがあるかどうかチェックを行うようになります。

次に、ルールに別の機能を追加します。この新しい機能は、HTTPクライアント (ブラウザなど) がエッジサーバーから XMLまたはXLSコンテンツの新規バージョンがあるかどうかのチェックを開始するまでの時間を決定します。

  1. 追加したばかりの「機能」の横に表示されるボタンをクリックします。設定したばかりの「機能」の直下に新しい機能ボタンが表示されます。
  2. この新しい機能では、[外部 Max-Age ]を選択してください。
  3. HTTPクライアント (ブラウザ) がエッジサーバーからリクエストされたコンテンツの新規バージョンがあるかどうかのチェックを開始するまでの時間に「5」を入力します。
  4. 時間単位に「分数」を選択します。

ルールは以下に示すようになります。

[追加]をクリックして、この新しいルールを作成します。ここでも、新しいルールが承認待ちになります。

XMLコンテンツおよび XLSコンテンツに固有のルールがキャッチオールルールの直下に表示される点にご注意ください。ルールの表示順序は通常リクエストされたコンテンツに複数のアクションを適用すべき場合の優先順位を決定するため重要です。ルールが承認されると、オリジンサーバーによってmax-ageが割り当てられていないすべてのコンテンツに対して、キャッチオールルールがmax-ageを割り当てます。その後、max-ageがすべてのXMLコンテンツおよびXLSコンテンツに再度割り当てられます。