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'.<div>
<br></div><div>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?</div>
<div><br></div><div>Thanks,</div><div><br></div><div>sub vcl_fetch {</div><div><div><div> if (!(req.url ~ "wp-(login|admin)")) {</div><div> unset beresp.http.set-cookie;</div><div> set beresp.ttl = 12h; </div>
<div> set beresp.cacheable = true; </div><div> set beresp.http.cache-control = "public";</div><div> }<span class="Apple-tab-span" style="white-space:pre"> </span> </div><div> if ( beresp.status == 400 ) {</div>
<div> set beresp.ttl = 1h;</div><div> set beresp.cacheable = true; </div><div> set beresp.http.cache-control = "public";<span class="Apple-tab-span" style="white-space:pre"> </span></div><div> }<span class="Apple-tab-span" style="white-space:pre"> </span></div>
<div> if (!beresp.cacheable) {</div><div> return (pass);</div><div> }</div><div> if (beresp.http.Set-Cookie) {</div><div> return (pass);</div><div> }</div><div> return (deliver);</div><div>}</div></div>
</div>