私は Varnish 3.0.3 を使用しており、それを使用して、静的リソースの HTTP ヘッダーに最大有効期間を設定することにより、ブラウザーのキャッシュを活用しています。次の構成を default.vcl に追加してみました。
sub vcl_fetch {
if (beresp.cacheable) {
/* Remove Expires from backend, it's not long enough */
unset beresp.http.expires;
/* Set the clients TTL on this object */
set beresp.http.cache-control = "max-age=900";
/* Set how long Varnish will keep it */
set beresp.ttl = 1w;
/* marker for vcl_deliver to reset Age: */
set beresp.http.magicmarker = "1";
}
}
sub vcl_deliver {
if (resp.http.magicmarker) {
/* Remove the magic marker */
unset resp.http.magicmarker;
/* By definition we have a fresh object */
set resp.http.age = "0";
}
}
これはhttps://www.varnish-cache.org/trac/wiki/VCLExampleLongerCachingからコピーされます。多分私はちょうどタイプミスをしました。Varnish を再起動すると、機能しなくなりました。
2 つの質問があります。これはニス 3 に対して正しい方法ですか? もしそうなら、私は何を間違っていますか?次に、再起動する前に Varnish 構成ファイルをテストする方法はありますか? 「/sbin/service httpd configtest」でApacheが持っているものに沿った何か。それはライブに行く前に間違いを見つけます。ありがとうございました。