Varnish 3.0.2、Apache2、Pressflowを実行しています。ESIを初めて起動して機能させようとしていますが、機能しますが、親ページが初めて要求されたときのみです。その後、親ページと置き換えられたコンテンツをキャッシュからプルします。私が考えることができる唯一のことは、インクルードされたファイルをまったくキャッシュしないように指示しているにもかかわらず、インクルードされたコンテンツが永続的にキャッシュされているということです。これが、保存されているインクルードされたファイルのオブジェクトです...
11 ObjProtocol c HTTP/1.1
11 ObjResponse c OK
11 ObjHeader c Date: Wed, 18 Jul 2012 23:25:56 GMT
11 ObjHeader c X-Powered-By: PHP/5.3.3-1ubuntu9.10
11 ObjHeader c Last-Modified: Wed, 18 Jul 2012 23:25:56 +0000
11 ObjHeader c Expires: Sun, 11 Mar 1984 12:00:00 GMT
11 ObjHeader c Vary: Cookie,Accept-Encoding
11 ObjHeader c ETag: "1342653956"
11 ObjHeader c Content-Encoding: gzip
11 ObjHeader c Content-Length: 656
11 ObjHeader c Content-Type: text/html
11 ObjHeader c Server: Apache/2.2.11
11 ObjHeader c Cache-Control: no-store
私はこれに丸一日を費やし、検索し、見つけたすべての記事を読み、VCLとHTTPヘッダーの両方で構成の調整のヒープ全体を試しました。間違っていることが何も見えません。
これは私のVCLからのスニペットであり、キャッシュに保存しないように強制しようとしています
sub vcl_fetch {
set beresp.do_esi = true;
if (req.url ~ "^/esi_") {
set beresp.http.Cache-Control = "no-store";
set beresp.ttl = 0s;
}
}
varnishlogにエラーを示すものは何も表示されていないことを付け加えておきます。include srcでパスとホスト+パスだけを使用してみましたが、違いはありません。バックエンドに新鮮なコンテンツを要求することはありません。2回目以降のリクエストのログを見ると、それがESIページであることに気付かないでしょう。