Okay, I figured this out in my vcl, it looks like.

Mediawiki is setting Cache-Control: private on 302's it sends back, and my vcl (part of which was ripped from wikia's) was passing all private pages. For now, I just check obj.status == 302 and force deliver. Is this a bad thing for any reason?

if (obj.http.Cache-Control ~ "private") {
        if(req.http.Cookie ~"(UserID|_session)") {
                set obj.http.X-Cacheable = "NO:Got Session";
        } else if(obj.status == 302) {
                #force cache this
                set obj.ttl = 600s;
                set obj.grace = 600s;
                set obj.http.X-Cacheable = "YES - FORCED";
                deliver;
        } else {
                set obj.http.X-Cacheable = "NO:Cache-Control=private";
        }
        pass;
}

It seems to be working, although I'm still digging in my logs.

Also, is there any problem running this script:

http://kristian.blog.linpro.no/2009/02/18/easy-reloading-of-varnish-vcl/

instead of restarting varnish when I change the vcl while the site is live?

Thanks,
Chris


On 2010/08/03 21:30, Chris Hecker wrote:

I'd like to directly cache 302 redirects. Right now, they're generating
HitPass objects, and still hitting the backend. Can I do this?

Chris


_______________________________________________
varnish-misc mailing list
[email protected]
http://lists.varnish-cache.org/mailman/listinfo/varnish-misc

Reply via email to