すべてのプロダクト
Search
ドキュメントセンター

Edge Security Acceleration:ステータスコードのキャッシュ TTL の設定

最終更新日:Mar 11, 2026

オリジンサーバーが 2xx 以外のステータスコードを返した場合、Edge Security Acceleration (ESA) の POP (Point of Presence) はそのステータスコードをキャッシュできます。キャッシュ有効期間中、POP はリクエストに直接応答します。このプロセスにより、繰り返しオリジンリクエストを送信することを回避し、オリジンサーバーの負荷を軽減します。

利用シーン

通常、ESA の POP は、オリジンサーバーから 2xx ステータスコードでリソースを正常にフェッチした場合にそのリソースをキャッシュします。しかし、オリジンサーバーが 404 や 502 などの 2xx 以外のステータスコードを返した場合、すべてのリクエストをオリジンサーバーに送り返すことを回避できます。ステータスコードのキャッシュ TTL (Time-To-Live) を設定します。ESA の POP はステータスコードで直接応答し、ご利用のオリジンサーバーの負荷を軽減します。

典型的な利用シーン

ファイル A がオリジンサーバーから削除されたにもかかわらず、クライアントがアクセスし続けています。ESA の POP はファイル A をキャッシュしていないため、ファイル A に対するすべてのリクエストがオリジンサーバーに送信されます。オリジンサーバーは 404 ステータスコードで応答します。これにより、オリジンサーバーの負荷が大幅に増加します。

ESA の POP が 404 ステータスコードをキャッシュするように設定すると、POP は最初のオリジンフェッチ後にそれをキャッシュします。キャッシュ有効期間中、後続のリクエストは ESA の POP から直接 404 応答を受け取ります。これにより、オリジンフェッチが回避され、オリジンサーバーの負荷が軽減されます。

操作手順

  1. ESA コンソールで、[サイト管理] を選択します。サイト 列で、対象のサイトをクリックします。

  2. 左側のナビゲーションウィンドウで、ルール > キャッシュルール を選択します。

  3. ルールを追加 をクリックし、ルール名 を入力します。

  4. [リクエストが以下のルールと一致する場合...] エリアで、リクエスト属性を一致するように設定します。ルールの構成について詳しくは、「ルール式の構成」をご参照ください。

  5. エッジキャッシュの有効期間」エリアで、「設定」をクリックします。

  6. ステータスコードキャッシュの有効期間[追加] をクリックします。次のパラメーターを設定し、OK をクリックします:

    • ステータスコード: キャッシュする HTTP ステータスコード。404、502、503 などの 4xx(クライアントエラー)および 5xx(サーバー側エラー)のステータスコードをサポートします。

    • 有効期間: POP が状態コードをキャッシュする期間です。値は 1 秒から 31,536,000 秒 (1 年) の範囲で指定できます。TTL の有効期限が切れると、POP はオリジンサーバーから再度状態コードをフェッチします。

    image

設定例

シナリオ 1:静的リソースの 404 エラーのキャッシュ

ビジネスニーズ:ウェブサイトの画像フォルダ内の画像が削除されても、フロントエンドページが古いパスを参照し続けている場合があります。

設定

  • 一致条件:URL パスに /images が含まれる

  • ステータスコード:404

  • キャッシュ TTL:600 秒 (10 分)

image

結果:存在しない画像への最初のリクエストが行われると、POP はオリジンから 404 応答をフェッチし、10 分間キャッシュします。次の 10 分間、同じ画像への後続のリクエストは、オリジンフェッチなしで POP から直接 404 応答を受け取ります。

シナリオ 2:オリジンサーバー障害の短期キャッシュ

ビジネスニーズ:オリジンサーバーが短時間利用できなくなり、5xx エラーを返すことがあります。サービスを迅速に回復させたいと考えています。

設定

  • 一致条件: すべてのリクエスト

  • ステータスコード:5xx

  • キャッシュ TTL:60 秒 (1 分)

image

結果:オリジンサーバーに障害が発生すると、POP は 5xx ステータスコードを 1 分間キャッシュします。これにより、多くのオリジンリクエストがオリジンサーバーの負荷を増加させるのを防ぎます。1 分後、POP は再度オリジンからフェッチして、サーバーが回復したかどうかを確認します。

設定の確認

設定が完了したら、次の方法を使用して設定が有効になっていることを確認します。

方法 1:curl コマンドの使用

  1. ローカルキャッシュをクリアし、最初のリクエストを送信します:

    curl -I https://example.com/non-existent-page

    レスポンスヘッダーには x-site-cache-status: MISS が含まれているはずです。これは最初のオリジンフェッチを示します。

  2. すぐに同じ URL を再度リクエストします:

    curl -I https://example.com/non-existent-page

    レスポンスヘッダーにはキャッシュヒットを示す x-site-cache-status: HIT が含まれているはずです。キャッシュ期間を示すフィールドの値も自動的に増分します。

方法 2:ブラウザの開発者ツールの使用

  1. Chrome 開発者ツールを開き (F12 キーを押す)、[ネットワーク] タブに切り替えて、[ログを保持] をオンにします。

  2. 存在しないリソース (例:https://example.com/test404) にアクセスします。

  3. リクエスト詳細で [レスポンスヘッダー] を表示します。最初のリクエストでは x-site-cache-status: MISS が表示されます。後続のリクエストでは x-site-cache-status: HIT が表示され、キャッシュ期間を示すフィールドの値が自動的に増分します。

よくある質問

設定後もリクエストがオリジンサーバーに送信されるのはなぜですか?

  1. キャッシュの有効期限切れ:設定した TTL 値が短すぎないか確認してください。Cache-Control などのレスポンスヘッダーを調べて、キャッシュの生存時間を確認できます。

  2. 異なる URL パラメーター:デフォルトでは、異なる URL パラメーターは異なるキャッシュキーとして扱われます。関連性のないパラメーターを無視するようにキャッシュキールールを設定してください。

  3. ルールが有効になっていない:パスパターンなどのルールの一致条件を確認し、対象のリクエストをカバーしていることを確認してください。

特定の URL のキャッシュステータスを確認するにはどうすればよいですか?

curl コマンドを使用して、詳細なレスポンスヘッダーを表示できます:

curl -v -I https://example.com/target-url

主要なレスポンスヘッダー:

  • x-site-cache-status: HIT — キャッシュヒット

  • x-site-cache-status: MISS — キャッシュミス、オリジンフェッチが実行された

  • Cache-Control:max-age=120 — キャッシュが 120 秒間アクティブであった

特定のステータスコードのキャッシュを手動でパージするにはどうすればよいですか?

キャッシュは URL 別 または フォルダ別 にリフレッシュできます。

リファレンス

ルール関連の機能は、実行優先度ルールの動作設定範囲が異なります。詳細については、「ESA ルールの有効化の仕組み」をご参照ください。