warmup with curl not working
me at ibotty.net
me at ibotty.net
Thu Nov 24 19:59:35 CET 2011
hi,
i am pretty new to varnish but managed to get it to mostly work in a
pretty short timeframe. i am amazed.
the only problem so far is, that my warmup script is not working.
i warm the cache with
curl -sSH 'X-Refresh: DOIT' localhost:80/test/
and when accessed again with
curl localhost:80/test/
it gets the cached copy.
but with firefox, it does not hit the cache the first time (it works the
next time).
a shortened example of my vcl follows (ask, if there is anything
missing). i added return (lookup) after req.hash_always_miss=true
because it did always go to cached copy when i did not return at this point.
if this is not how one should build a vcl please enlighten me .
sub vcl_recv {
# force a cache refresh for the warmup- and regenerate-script
# e.g.: curl -H 'X-Refresh: DOIT' $page
# https://www.varnish-cache.org/trac/wiki/VCLExampleHashAlwaysMiss
if (req.http.X-REFRESH) {
set req.hash_always_miss = true;
return (lookup);
}
if (req.url ~ "^test") {
unset req.http.cookie;
set req.grace = 12h;
return (lookup);
}
}
sub vcl_fetch {
set beresp.grace = 24h; # should be the same as max grace in recv
if (beresp.http.content-type ~ "text") {
set beresp.do_gzip = true;
}
if (req.url ~ "^test") {
unset beresp.http.set-cookie;
set beresp.ttl = 14h;
return (deliver);
}
}
sub vcl_hit {
if (req.request == "PURGE") {
purge;
error 200 "Purged";
}
}
sub vcl_miss {
if (req.request == "PURGE") {
error 400 "Not in cache.";
}
}
the backend sets a vary: accept-encoding header, but it seems not to
make any difference (tested with curl and -H 'Accept-Encoding: gzip,
deflate' and variations).
varnish is 3.0.2-1~1squeeze1 from the debian repo.
thank all of you in advance,
tobias florek
More information about the varnish-misc
mailing list