0

ページのフラグメントをキャッシュしないために ESI を使用しています。フラグメントをキャッシュしないように、vcl ファイルに次の構成を記述しました。

sub vcl_backend_response{
   set beresp.do_esi = true;
   if (bereq.url ~ "/fragment") {
        set beresp.uncacheable = true;
        return (deliver);
    }   
}

ニスがバックエンドからページ全体を初めて取得するとき、「/fragment」の個別のリクエストを送信し、ページの適切な場所に配置します。ただし、ページを更新すると、ワニスはメインページのみを再要求し、キャッシュでそれを見つけます。次に、このページでesiフラグメントを検索せず、リクエストを送信しません。代わりに、メイン ページのキャッシュ中にメイン ページ自体に格納され、ルックアップ中にそこから取得されます。メインページの残りのコンテンツをキャッシュから提供しながら、メインページのリクエストが行われるたびに、バックエンドからフラグメントを取得する方法を知りたいです。

4

1 に答える 1

0

サブルーチンのunset resp.http.Etag;中にvcl_deliver入れるとうまくいきました。

于 2015-08-01T06:26:37.397 に答える