--On Wednesday, August 18, 2010 12:50 AM -0700 David Birdsong
<[email protected]> wrote:
On Tue, Aug 17, 2010 at 7:59 PM, Michael Loftis <[email protected]> wrote:
Varnish caching, or not caching, is completely controlled by the VCL.
Not having yours noone can help you. However, the *default* VCL
makes anything with a Cookie or HTTP Authentication header from the
client uncacheable.
Fair enough, I should have known vcl would be helpful, *but I didn't
think that statement was entirely true.
"completely controlled by the VCL"...I thought there were boundaries
that varnish operated in and no amount of vcl magic would override
it...such as beresp.cacheable, if that boolean evaluated to false, I
thought that varnish will never cache. Is that incorrect?
<http://www.gossamer-threads.com/lists/varnish/misc/14286> i think that
thread should answer your ?'s on beresp.cacheable, in short, it is not
authoritative. Further more 404's are perfectly cacheable.
You're caching all requests for a big list of extensions on line 91...
I'm not sure about case sensitivity in the req.http.cookie statement but
since you're passing everything to lookup anyway in the end you *should* be
caching 404s. I'm actually reading this and trying to figure out why a 404
*wouldn't* cache. In fact the only places I don't see you caching are if
it has an auth header, a cookie AND that cookie looks like one of your auth
cookies. That's the only reason I could see your code NOT caching.
Expect, Auth headers, and a cookie that looks like your auth cookie.
So I'm guessing that once in a while a miss is resulting in a 404 which
then (appropriately) gets cached. If you don't want 404's getting cached
set their TTL to 0 in vcl_fetch. Just remember that'll leave your backends
open to that sort of mischief.
It looks like tour vcl_fetch does do a fall through to the default
vcl_fetch, so unless there are overriding expires or cache-control headers
coming back on 404's, they'll be cached. If you don't want them cached you
need to pass on them in vcl_fetch.
Anyway, here's the vcl:
http://pastebin.com/egAfyT7U
_______________________________________________
varnish-misc mailing list
[email protected]
http://lists.varnish-cache.org/mailman/listinfo/varnish-misc