キャッシュを一時的に無効にする

キャッシュを以下のレベルで無効にすることができます。

  • 個別の URL レベル
  • ブラウザレベル
  • サイトレベル

個々の URL レベルでのキャッシュの無効化

個々の URL レベルでキャッシュを無効にする場合

  1. 常に Pass を強制するリクエスト設定を作成します。
  2. リクエスト設定に、特定のURLを探す条件を追加します。
  3. この設定を有効化するため、新しいバージョンのサービスを有効にします。

ブラウザレベルでのキャッシュの無効化

理論的には、すべてのブラウザが HTTP プロトコルのルールに従うべきです。しかし実際には、このルールに厳密に従わないブラウザもあります。以下のヘッダーの組み合わせにより、テストしたすべてのブラウザで、まったくキャッシュを行わないように強制できるようです。

1
2
3
Cache-Control: no-cache, no-store, private, must-revalidate, max-age=0, max-stale=0, post-check=0, pre-check=0
Pragma: no-cache
Expires: 0

なお、IE8 では戻るボタンに関する奇妙な動作が見られます。Vary: * をヘッダーに追加することでこの問題を解決できるようです。

サイトレベルでのキャッシュの無効化

VCL スニペットを作成してすべてのリクエストをサービスに送信することで、サイトレベルでのキャッシュを無効にすることができます。

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

    vcl スニペットのウィンドウ

  6. Name フィールドに適切な名前を入力します (例:Pass All Requests)。
  7. Type セクションで within subroutine を選択します。
  8. Select subroutine メニューから、recv (vcl_recv) を選択します。
  9. VCL フィールドに以下の条件を追加します。

    1
    
    return(pass);
    
  10. Create をクリックすると、スニペットが作成されます。
  11. Activate ボタンをクリックして設定変更をデプロイします。

VCL の vcl_recv から return(pass); を削除するか、またはこのスニペットを削除するまで、すべてのリクエストがオリジンに送信されます。

Back to Top