Caching images only

Stefan Caunter stef at scaleengine.com
Mon Nov 4 14:15:46 CET 2013


On Mon, Nov 4, 2013 at 7:23 AM, Γιάννης Καραγιαννίδης
<gkaragiannidis at dolnet.gr> wrote:
> Hi,
> You could always use
>
> // remove cookie from these
> if (req.http.Content-Type ~ "(image|audio|video|pdf|flash|text)") { remove req.http.Cookie; }
>
> Regards
>
>
> I am trying to cache all images for my website and it's working fine with simple configuration as given below.
>
> sub vcl_recv {
>   if (req.url ~ "\.(png|gif|jpg|jpeg|bmp)$"){
>         remove req.http.Cookie;
>    }
>
> It's caching image url which is simply ending with filename.jpeg, but this can't cache if the url is bit complex like this
>
> http://test.demo.co.uk/web/demo/home?p_p_id=propertyslider_WAR_propertysliderportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_cacheability=cacheLevelPage&p_p_col_id=column-1&p_p_col_count=1&_propertyslider_WAR_propertysliderportlet_img-name=152.jpeg&_propertyslider_WAR_propertysliderportlet_img-height=400&_propertyslider_WAR_propertysliderportlet_img-width=960
>
> Any idea on how to achieve this. I tried using reqex to match url but failed :(
>


the regex does not match; you have told varnish to cache files ending
in .jpeg but this test url will fail so you will still have the cookie

without knowing how to reverse engineer your webapp (which is what i
have found you need to do to use varnish usually), it seems to me you
would want to match on the string
"_propertyslider_WAR_propertysliderportlet_img-name" as well as strip
cookies, and set your cache behaviour in fetch

Stefan



More information about the varnish-misc mailing list