Varnishにキャッシュ制御ヘッダーを送信させるための適切な方法について、誰かがアドバイスできることを願っています。現在、私の構成は「Cache-Control: no-cache」をクライアントに送信しています。
助けてくれるかもしれない人に前もって感謝します...
Varnishにキャッシュ制御ヘッダーを送信させるための適切な方法について、誰かがアドバイスできることを願っています。現在、私の構成は「Cache-Control: no-cache」をクライアントに送信しています。
助けてくれるかもしれない人に前もって感謝します...
バックエンドは「Cache-Control: no-cache」を Varnish に送信しています。これは次の 2 つのことを意味します。
解決策は簡単です。バックエンドから応答を取得した後 (キャッシュに格納する前に)、キャッシュ制御ヘッダーを削除します。
vcl ファイルで次のようにします。
sub vcl_fetch {
remove beresp.http.Cache-Control;
set beresp.http.Cache-Control = "public";
}
特定の URL に対してのみこれを行う (( if req.url ~ "" )
ロジックでラップする) ことを選択して、より高度な処理を行うことができます。
ワニスは、ドキュメントに従ってCache-Control:nocacheを無視します。これを確認する証拠は次のとおりです。
http://drupal.org/node/1418908
その結果を得るには、ヘッダーCache-Controlを検出する必要があります。nocache。バックエンドからキャッシュを無効にするか、バックエンドの応答をキャッシュ不可に設定するか、他のヘッダーでmax-age:0を発行します(今は名前を忘れています)。