<div dir="ltr">Hi Uday,<div><br></div><div>Can you provide us with a log of the transaction please? You can run this on the Varnish server:</div><div><br></div><div>    varnishlog -g request -q 'ReqHeader:Cache-Control'</div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><br></div><div>And you should see something as soon as you send a request with that header to Varnish. Note that we need the backend part of the transaction, so please don't truncate the block.</div><div><br></div><div>Kind regards,</div><div><br></div><div>-- <br></div><div>Guillaume Quintard<br></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 12, 2023 at 10:33 PM Uday Kumar <<a href="mailto:uday.polu@indiamart.com">uday.polu@indiamart.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hello,<br><br>When a user refreshes(F5) or performs a hard refresh(ctrl+F5) in their browser, the browser includes the <b>Cache-Control: no-cache</b> header in the request. <br>However, in our<b> production Varnish setup</b>, we have implemented a check that treats<b> requests with Cache-Control: no-cache as cache misses</b>, meaning it bypasses the cache and goes directly to the backend server (Tomcat) to fetch the content.<br><br><b>Example:</b><br>in vcl_recv subroutine of default.vcl:</div><div><br></div><div>sub vcl_recv{</div><div>      #other Code</div><div>      # Serve fresh data from backend while F5 and CTRL+F5 from user<br>        if (req.http.Cache-Control ~ "(no-cache|max-age=0)") {<br>                set req.hash_always_miss = true;<br>        }</div><div>       #other Code</div><div>}</div><div><br><br>However, we've noticed that the <b><font color="#ff0000">Cache-Control: no-cache header is not being passed</font></b> to Tomcat even when there is a cache miss. <br>We're unsure why this is happening and would appreciate your assistance in understanding the cause.<br><br><b>Expected Functionality:</b><br>If the request contains <b>Cache-Control: no-cache header then it should be passed to Tomcat</b> at Backend.<br><br></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><font color="#000000">Thanks & Regards</font><div><font color="#000000">Uday Kumar</font></div></div></div></div></div>
_______________________________________________<br>
varnish-misc mailing list<br>
<a href="mailto:varnish-misc@varnish-cache.org" target="_blank">varnish-misc@varnish-cache.org</a><br>
<a href="https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc" rel="noreferrer" target="_blank">https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc</a><br>
</blockquote></div>