← 事例一覧に戻る
General2026年3月4日読了 33 views

キャッシュ除外のやつ

D
Dd Telecaster

TL;DR
Cloudflare の Cache Rules を活用して、特定のパスを除外し、APIレスポンスのキャッシュ問題を解決しました。

発生した課題
自社の Web サービスでは、APIレスポンスがキャッシュされてしまい、古いデータがユーザーに返却されるというトラブルが発生しました。この問題はユーザーから問い合わせが殺到するほど深刻でした。原因調査の結果、Cloudflare のキャッシュ機能が原因であることがわかりました。キャッシュは通常、サイトのパフォーマンス向上に大きく寄与しますが、APIレスポンスの場合、最新のデータを返す必要があるため、キャッシュされるべきではありません。

原因調査
当初、Page Rules でキャッシュを制御しようとしましたが、ルールの数が上限に達してしまい、柔軟な設定ができなくなっていました。Page Rules は、簡単な設定でキャッシュを制御できる便利な機能ですが、複雑な条件を設定する必要がある場合は、Cache Rules の方が適しています。

解決方法
Cache Rules では、特定のパスを指定してキャッシュの挙動を制御できます。以下は、実際に設定したルールの概要です。

  • ルールの作成: ダッシュボードの Cache Rules から新規ルールを作成します。
  • パスの指定: /api/* にマッチするルールを作成します。ワイルドカードの使用に注意が必要です。
  • キャッシュ適格性の設定: キャッシュ適格性を「バイパス」に設定します。これにより、指定したパスはキャッシュされなくなります。
  • 例外設定: 例外的にキャッシュしたいリソース(manage-assets など)については、別途ルールを作成し、キャッシュを強化します。

導入時の注意点
Page Rules と Cache Rules を併用する場合、優先順位やルールの適用順序がややこしくなりがちです。また、ワイルドカードの書き方が Page Rules と微妙に異なる点に注意が必要です。ルールの設定前に、テスト環境での検証を十分に行い、意図した動作を確認することが重要です。

まとめ
Cloudflare の Cache Rules を使用することで、特定のパスをキャッシュから除外し、APIレスポンスの問題を解決することができました。Page Rules では制御しきれない複雑な条件でも、Cache Rules を活用することで柔軟なキャッシュ制御が可能です。ただし、ルールの設定には注意が必要です。