beresp.cacheable on Varnish 3.

Harri.Paivaniemi at tieto.com Harri.Paivaniemi at tieto.com
Wed Oct 19 07:01:50 CEST 2011


Hi,

At least I remember that in vcl 3, besp.cacheable is gone and should use "set beresp.ttl = 0s;" to say it's not cacheable etc.

-hjp

________________________________________
From: varnish-misc-bounces at varnish-cache.org [varnish-misc-bounces at varnish-cache.org] On Behalf Of Baptiste [bedis9 at gmail.com]
Sent: 19 October 2011 7:52
To: Jeroen Ooms
Cc: varnish-misc at varnish-cache.org
Subject: Re: beresp.cacheable on Varnish 3.

On Tue, Oct 18, 2011 at 10:12 PM, Jeroen Ooms <jeroen.ooms at stat.ucla.edu> wrote:

> Apologies, the varnish I am now running is not version 2.2 but version 3.
>
> On Tue, Oct 18, 2011 at 1:09 PM, Jeroen Ooms <jeroen.ooms at stat.ucla.edu>
> wrote:
>>
>> I am using varnish among other things to cache a wordpress site. I just
>> upgraded to Ubuntu 11.10, and thereby also the default varnish is updated
>> from 2.1. to 2.2. However I'm getting an error now: Unknown variable
>> 'beresp.cacheable'.
>> Basically the problem is that I want to enforce caching of all content,
>> except for stuff under /wp-login and /wp-admin. Furthermore it should also
>> cache HTTP 400 responses. Below the code that I grabbed from somewhere I
>> don't remember, that did the job in Varnish 2.1. How should I update this
>> now beresp.cacheable is no longer available?
>> Thanks,
>> sub vcl_fetch {
>>    if (!(req.url ~ "wp-(login|admin)")) {
>>       unset beresp.http.set-cookie;
>>       set beresp.ttl = 12h;
>>       set beresp.cacheable = true;
>>       set beresp.http.cache-control = "public";
>>    }
>>    if ( beresp.status == 400 ) {
>>       set beresp.ttl = 1h;
>>       set beresp.cacheable = true;
>>       set beresp.http.cache-control = "public";
>>    }
>>    if (!beresp.cacheable) {
>>       return (pass);
>>    }
>>    if (beresp.http.Set-Cookie) {
>>       return (pass);
>>    }
>>    return (deliver);
>> }
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>

Hi,

This is what I do for Wordpress in vcl_fetch on varcnish 3 (afair, it
worked in 2.1):

        set beresp.grace = 1d;

        # wordpress
        if (req.http.host ~ "XXXXXXXX" && !(req.url ~ "wp-(login|admin)")) {
                unset beresp.http.set-cookie;
                set beresp.cacheable = true;
        }

        if (beresp.cacheable && !beresp.http.cache-control) {
                set beresp.ttl = 600s;
                set beresp.http.cache-control = "max-age=600";
        }


and 404 are cached.

Cheers

_______________________________________________
varnish-misc mailing list
varnish-misc at varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc




More information about the varnish-misc mailing list