<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi Michael,</div><div><br></div><div>There is a similar feature to this available in Varnish:</div><a href="https://www.varnish-cache.org/docs/trunk/tutorial/handling_misbehaving_servers.html">https://www.varnish-cache.org/docs/trunk/tutorial/handling_misbehaving_servers.html</a><div><br></div><div>Grace and saint modes correspond roughly, respectively to stale-while-revalidate and stale-if-error proposed in RFC5861.</div><div><br></div><div>Graham.<br><div><br><div><div>On 20 Mar 2012, at 09:24, <a href="mailto:varnish-misc-request@varnish-cache.org">varnish-misc-request@varnish-cache.org</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Send varnish-misc mailing list submissions to<br><span class="Apple-tab-span" style="white-space:pre">   </span><a href="mailto:varnish-misc@varnish-cache.org">varnish-misc@varnish-cache.org</a><br><br>To subscribe or unsubscribe via the World Wide Web, visit<br><span class="Apple-tab-span" style="white-space:pre">     </span>https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc<br>or, via email, send a message with subject or body 'help' to<br><span class="Apple-tab-span" style="white-space:pre">   </span>varnish-misc-request@varnish-cache.org<br><br>You can reach the person managing the list at<br><span class="Apple-tab-span" style="white-space:pre">   </span>varnish-misc-owner@varnish-cache.org<br><br>When replying, please edit your Subject line so it is more specific<br>than "Re: Contents of varnish-misc digest..."<br><br><br>Today's Topics:<br><br>   1. Re: Varnish client IP address not display (MassiveScale.net)<br>   2. VUG5 Paris BOF (Jonathan Matthews)<br>   3. Re: Communication between Varnish and the Backend (Hugues Alary)<br>   4. using the max-age request header (Jeroen Ooms)<br>   5. Re: Communication between Varnish and the Backend (Per Buer)<br>   6. Stale-While-Revalidate or Similar (Michael Borejdo)<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Mon, 19 Mar 2012 12:39:36 +0100<br>From: "MassiveScale.net" <info@massivescale.net><br>To: varnish-misc@varnish-cache.org<br>Subject: Re: Varnish client IP address not display<br>Message-ID: <4F671AF8.3060201@massivescale.net><br>Content-Type: text/plain; charset=ISO-8859-1<br><br>On 03/19/2012 09:02 AM, Stewart Robinson wrote:<br><blockquote type="cite">Jewel,<br></blockquote><blockquote type="cite">What header are you checking on the back end?<br></blockquote><blockquote type="cite">You should be reading the x-forwarded-for header rather than some form<br></blockquote><blockquote type="cite">of remote_addr.<br></blockquote><br>Alternatively, if your backend server is Apache, you could use mod_rpaf<br>http://stderr.net/apache/rpaf/<br><br>-- <br>Andrzej Godziuk<br>http://MassiveScale.net/<br><br><br><br>------------------------------<br><br>Message: 2<br>Date: Mon, 19 Mar 2012 13:25:22 +0000<br>From: Jonathan Matthews <contact@jpluscplusm.com><br>To: varnish-misc@varnish-cache.org<br>Subject: VUG5 Paris BOF<br>Message-ID:<br><span class="Apple-tab-span" style="white-space:pre">      </span><CAKsTx7Dv1rf62dJ6XYMo0n+vcB02nP7fyxX9CcPaPw2KbHUD-Q@mail.gmail.com><br>Content-Type: text/plain; charset=UTF-8<br><br>Hi all -<br><br>I'm heading along to VUG5 this week - really looking forward to<br>meeting a lot of you and seeing how you're using and abusing our<br>favourite tool :-)<br><br>When I signed up, I don't recall ticking the "BOF" checkbox - could<br>anyone let me know if it's too late to get in on that action?<br><br>Either way, are people (like me) who are attending *just* the user day<br>(Thursday) perhaps looking for more Varnish chat on the Friday or the<br>weekend? I'm there 'til Sunday, and would love to get the most out of<br>a high concentration of Varnish-literate folk!<br><br>All the best,<br>Jonathan<br>-- <br>Jonathan Matthews<br>London, Oxford, UK<br>http://www.jpluscplusm.com/contact.html<br><br><br><br>------------------------------<br><br>Message: 3<br>Date: Mon, 19 Mar 2012 12:50:23 -0700<br>From: Hugues Alary <hugues.alary@gmail.com><br>To: varnish-misc@varnish-cache.org<br>Subject: Re: Communication between Varnish and the Backend<br>Message-ID:<br><span class="Apple-tab-span" style="white-space:pre">       </span><CAN-YAk8S=dCxUXR5GbyC3+s3oSgis0+doetcw0N8QUGPJ1Mteg@mail.gmail.com><br>Content-Type: text/plain; charset="iso-8859-1"<br><br>Happy Monday everybody,<br><br>Nobody, got some good advices for me? :)<br><br>Thanks,<br>-Hugues<br><br>On Fri, Mar 16, 2012 at 3:42 PM, Hugues Alary <hugues.alary@gmail.com>wrote:<br><br><blockquote type="cite">Hi everybody,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I'm configuring varnish to be used with my web application.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I need my backend to be able to give instructions to Varnish depending on<br></blockquote><blockquote type="cite">the page requested. For example, some of my pages contain ESI includes,<br></blockquote><blockquote type="cite">some don't.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I want my application to tell varnish wether or not do the esi<br></blockquote><blockquote type="cite">processing. This approach allows me to keep my VCL configuration file<br></blockquote><blockquote type="cite">abstracted from the application. I can then redistribute the VCL to other<br></blockquote><blockquote type="cite">users and let their application control the cache.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">So far my solution is to instruct varnish via HTTP headers.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">In my current example I set a header X-Application-DoEsi to 1 or 0. When<br></blockquote><blockquote type="cite">varnish receives the response from the backend, it looks for the value<br></blockquote><blockquote type="cite">of X-Application-DoEsi and does or not the ESI processing.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">   - I was wondering if communicating with varnish via HTTP header is a<br></blockquote><blockquote type="cite">   good solution?<br></blockquote><blockquote type="cite">   - How bad can it be performance wise?<br></blockquote><blockquote type="cite">   - Should I be worried about security (interception/modification of the<br></blockquote><blockquote type="cite">   communication between Varnish and the backend), even if no credential will<br></blockquote><blockquote type="cite">   never be sent through HTTP headers? (Also, currently Varnish and the<br></blockquote><blockquote type="cite">   backend are on the same machine, but chances are that they will in the<br></blockquote><blockquote type="cite">   future not live on the same host).<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">In the future, I plan on instructing varnish not to cache certain pages<br></blockquote><blockquote type="cite">containing user defined query strings. I want the user to be able to<br></blockquote><blockquote type="cite">specify these un-cachable urls query strings directly in the application.<br></blockquote><blockquote type="cite">The application will then send the un-cachable query strings in a header<br></blockquote><blockquote type="cite">X-Application-QueryStringNoCache: "querystring1,querystring2,...".<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Is that a bad idea?<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Thank you for your help!<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">--<br></blockquote><blockquote type="cite">Hugues ALARY<br></blockquote><blockquote type="cite"><br></blockquote><br><br><br>-- <br>Hugues ALARY<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20120319/a5ee34d6/attachment-0001.html><br><br>------------------------------<br><br>Message: 4<br>Date: Mon, 19 Mar 2012 17:11:57 -0700<br>From: Jeroen Ooms <jeroen.ooms@stat.ucla.edu><br>To: varnish-misc@varnish-cache.org<br>Subject: using the max-age request header<br>Message-ID:<br><span class="Apple-tab-span" style="white-space:pre">    </span><CABFfbXtVc3vMVB-7_vEUZW6fXup5zte6rVhwL7avsQdqHX1ZHQ@mail.gmail.com><br>Content-Type: text/plain; charset=ISO-8859-1<br><br>How do I configure my VLC to let Varnish respect the 'Cache-Control<br>max-age' request header? Someone on SO suggested the following:<br><br>if (req.http.Cache-Control ~ '\bmax-age=\b`) {<br>    if (std.duration(regsub(req.http.Cache-Control,<br>".*\bmax-age=(\d+)\b.*", "\1s"), 0s) < obj.age) {<br>        return (pass);<br>    }<br>}<br><br>However, what I don't like about this is that vcl_pass does not<br>actually update the cache with the new entry. How can I configure it<br>so that when max age < obj.age, a fresh copy will be fetched and<br>inserted into cache?<br><br><br><br>------------------------------<br><br>Message: 5<br>Date: Tue, 20 Mar 2012 07:25:05 +0100<br>From: Per Buer <perbu@varnish-software.com><br>To: Hugues Alary <hugues.alary@gmail.com><br>Cc: varnish-misc@varnish-cache.org<br>Subject: Re: Communication between Varnish and the Backend<br>Message-ID:<br><span class="Apple-tab-span" style="white-space:pre">      </span><CAOXZevDAcWRxDFbUA_mSh4_Hh2S1ukF9PGbmN6X2UThC-Md+5Q@mail.gmail.com><br>Content-Type: text/plain; charset="iso-8859-1"<br><br>On Fri, Mar 16, 2012 at 11:42 PM, Hugues Alary <hugues.alary@gmail.com>wrote:<br>(..)<br><br><blockquote type="cite"><br></blockquote><blockquote type="cite">   - I was wondering if communicating with varnish via HTTP header is a<br></blockquote><blockquote type="cite">   good solution?<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Yes.<br></blockquote><br><blockquote type="cite"><br></blockquote><blockquote type="cite">   - How bad can it be performance wise?<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Negligible.<br></blockquote><br><br><blockquote type="cite"><br></blockquote><blockquote type="cite">   - Should I be worried about security (interception/modification of the<br></blockquote><blockquote type="cite">   communication between Varnish and the backend), even if no credential will<br></blockquote><blockquote type="cite">   never be sent through HTTP headers? (Also, currently Varnish and the<br></blockquote><blockquote type="cite">   backend are on the same machine, but chances are that they will in the<br></blockquote><blockquote type="cite">   future not live on the same host).<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote>It's more or less impossible to turn Varnish into an open proxy so I<br>wouldn't worry about that.<br><br><br><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">In the future, I plan on instructing varnish not to cache certain pages<br></blockquote><blockquote type="cite">containing user defined query strings. I want the user to be able to<br></blockquote><blockquote type="cite">specify these un-cachable urls query strings directly in the application.<br></blockquote><blockquote type="cite">The application will then send the un-cachable query strings in a header<br></blockquote><blockquote type="cite">X-Application-QueryStringNoCache: "querystring1,querystring2,...".<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Is that a bad idea?<br></blockquote><blockquote type="cite"><br></blockquote><br>No. If it works for you then go for it.<br><br><br>-- <br>Per Buer, CEO<br>Phone: +47 21 98 92 61 / Mobile: +47 958 39 117 / Skype: per.buer<br>*Varnish makes websites fly!*<br>Whitepapers <http://www.varnish-software.com/whitepapers> |<br>Video<http://www.youtube.com/watch?v=x7t2Sp174eI> |<br>Twitter <https://twitter.com/varnishsoftware><br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20120320/59e9f0ef/attachment-0001.html><br><br>------------------------------<br><br>Message: 6<br>Date: Tue, 20 Mar 2012 09:24:02 +0000<br>From: Michael Borejdo <mib@electronic-minds.de><br>To: "varnish-misc@varnish-cache.org" <varnish-misc@varnish-cache.org><br>Subject: Stale-While-Revalidate or Similar<br>Message-ID:<br><span class="Apple-tab-span" style="white-space:pre">        </span><BE4EDDBE2C55604EB9F3EBA421CB227A23971439@EM-MBX-1.electronic-minds.local><br><span class="Apple-tab-span" style="white-space:pre">  </span><br>Content-Type: text/plain; charset="us-ascii"<br><br>Hello List,<br><br>Is there support for something like "stale-while-revalidate" coming to Varnish?<br>I need to make the request to my backend-servers async and serve slightly stale content (defined by grace) and I do not want a user to wait for the backend at any time.<br>Or is there any other way with using vcl trickery to accomplish this?<br>(Unfortunately I cannot seem to find any info on this topic and the thread I found on the list has not been answered)  [1]<br><br>[1] https://www.varnish-cache.org/lists/pipermail/varnish-misc/2012-February/021644.html<br><br>Thanks<br><br>Michael<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20120320/c76920a3/attachment.html><br><br>------------------------------<br><br>_______________________________________________<br>varnish-misc mailing list<br>varnish-misc@varnish-cache.org<br>https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc<br><br>End of varnish-misc Digest, Vol 72, Issue 21<br>********************************************<br></div></blockquote></div><br></div></div><DIV> </DIV><br/><font size="3" face="Times New Roman"><a href="http://www.bbc.co.uk">http://www.bbc.co.uk</a><br/>This e-mail (and any attachments) is confidential and may contain personal views which are not the views of the BBC unless specifically stated.<br/>If you have received it in error, please delete it from your system.<br/>Do not use, copy or disclose the information in any way nor act in reliance on it and notify the sender immediately.<br/>Please note that the BBC monitors e-mails sent or received.<br/>Further communication will signify your consent to this.</font>
</body></html>