バックエンドのレスポンスに基づいてキャッシュ設定のデフォルトを上書きする

バックエンドのレスポンスに基づいて、条件付きで別のキャッシュポリシーを適用する必要がある場合があります。例えば、バックエンドが404エラー(例:document not found)を返すことがあるとします。これらのレスポンスをデフォルトのキャッシュ期間である24時間ではなく、5分間のみキャッシュに保存するようにする必要があります。デフォルトのキャッシュ設定を無効にするには、キャッシュオブジェクトを追加して、それに対する条件を作成します。

新しいキャッシュオブジェクトの作成

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Settings をクリックします。Settings ページが表示されます。
  5. Create cache setting ボタンをクリックします。Create a cache setting ページが表示されます。

    Cache settings ページ

  6. 以下の要領で Create a cache setting ページの各フィールドに入力します。
    • Name フィールドに、新しいキャッシュ設定の分かりやすい名前を入力します。
    • TTL (seconds) フィールドに、オブジェクトをキャッシュする期間を秒単位で入力します (例:300)。
    • Action メニューから Deliver を選択します。
    • Stale TTL (seconds) フィールドに、バックエンドが利用できなくなった場合に (300 など)、失効済みまたは期限切れのレスポンスを提供する期間を秒単位で入力します。
  7. Create ボタンをクリックします。

新しいキャッシュオブジェクトに対する上書きの条件を作成する

オブジェクトが作成されたら、それに条件を追加します。

  1. オブジェクトの右側にある Attach a condition をクリックします。
  2. Create cache setting ボタンをクリックします。Create a new cache condition ウィンドウが表示されます。

    Create new cache condition ページ

  3. 以下の要領で Create a new cache setting ウィンドウの各フィールドに記入します。
    • Name フィールドに新しい条件の分かりやすい名前を入力します。例えば、Override cache default と入力します。
    • Apply if フィールドには、条件が適用される状況を指定するために、適切なバックエンドのレスポンスヘッダーを入力します (例:beresp.status == 404)。
  4. Save and apply to ボタンをクリックします。
  5. Activate ボタンをクリックして設定変更をデプロイします。

その他の留意事項

Apply if フィールドには、キャッシュに関する決定を行うのに、どのようなバックエンドのレスポンスヘッダーも使用できます。

例えば beresp.http.Content-Type ~ "^text/html" は、HTML ドキュメントに異なるキャッシュルールを指定するために使用することができます。

Back to Top