<div dir="ltr">Hi,<div><br></div><div>By default, Varnish will not cache if the request contains a cookie headers, or if the response contains a set-cookie header, this is totally configurable in vcl. Have a look at the builtin.vcl (mine can be found, in commented form at /usr/share/doc/varnish/builtin.vcl) :</div><div>vcl_recv contains:</div><div><div>     if (req.http.Authorization || req.http.Cookie) {</div><div>         /* Not cacheable by default */</div><div>         return (pass);</div><div>    }</div><div><br></div><div>and vcl_backend_response:</div></div><div><div>     if (beresp.ttl <= 0s ||</div><div>       beresp.http.Set-Cookie ||</div><div>       beresp.http.Surrogate-control ~ "no-store" ||</div><div>       (!beresp.http.Surrogate-Control &&</div><div>         beresp.http.Cache-Control ~ "no-cache|no-store|private") ||</div><div>       beresp.http.Vary == "*") {</div><div>         /*</div><div>         * Mark as "Hit-For-Pass" for the next 2 minutes</div><div>         */</div><div>         set beresp.ttl = 120s;</div><div>         set beresp.uncacheable = true;</div><div>     }</div></div><div><br></div><div>If you don't wish to go through this, you'll have to do a return in your own vcl, otherwise the builtin.vcl portion of the code gets executed.</div><div><br></div><div>To cache part of cookies, check out the vmod-cookies, and in vcl_hash(), choose the interesting parts for caching.</div><div><br></div><div>Does that help?</div><div><br></div><div>P.S. : you want to reconsider adding a confidentiality warning that's longer than your actual message when you post to a public mailing list :-)</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>-- <br></div>Guillaume Quintard</div></div></div></div></div>