<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:PMingLiU;
panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
{font-family:PMingLiU;
panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@PMingLiU";
panose-1:2 2 5 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-AU link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi all,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>I've got varnish currently configured to server cached content for 300 secs. <o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>I've also allowed varnish to accept purge requests (coming from a trusted list of IPs)<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>Watching varnish (using varnishlog), I can see a PURGE request get successfully handled (I am sending the purge via php/curl_init - even if I telnet directly to varnish and issue a direct http request, I still get the same 'success')<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>In this example, I want to clear the front page for a joomla site, from cache:<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 SessionOpen c 10.2.35.5 36978 :6081<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 ReqStart c 10.2.35.5 36978 806561070<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxRequest c PURGE<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxURL c /<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxProtocol c HTTP/1.0<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c Host: <a href="http://staging.site.com.au/" target="_blank"><span style='color:#1155CC'>staging.site.com.au</span></a><o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c X-Real-IP: 117.53.165.104<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c X-Forwarded-For: 117.53.165.104<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c Connection: close<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c Accept: */*<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_call c recv<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_acl c MATCH purge 10.2.35.5<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_return c lookup<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_call c hash<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 Hash c /<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 Hash c <a href="http://staging.site.com.au/" target="_blank"><span style='color:#1155CC'>staging.site.com.au</span></a><o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_return c hash<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 Hit c 806560950<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_call c hit error<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_call c error deliver<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_call c deliver deliver<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxProtocol c HTTP/1.1<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxStatus c 200<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxResponse c Purged.<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Server: Varnish<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Content-Type: text/html; charset=utf-8<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Retry-After: 5<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Content-Length: 382<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Accept-Ranges: bytes<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Date: Tue, 13 Aug 2013 06:17:36 GMT<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c X-Varnish: 806561070<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Age: 0<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Via: 1.1 varnish<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Connection: close<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c X-Cache: MISS<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 Length c 382<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 ReqEnd c 806561070 1376374656.189619780 1376374656.189839363 0.000064850 0.000157595 0.000061989<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 SessionClose c error<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 StatSess c 10.2.35.5 36978 0 1 1 0 0 0 259 382<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>BUT, if I then immediately hit that site, I serves up a page from cache that should have just been purged.<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 SessionOpen c 10.2.35.5 36979 :6081<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 ReqStart c 10.2.35.5 36979 806561071<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxRequest c GET<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> </span><span lang=PT-BR style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>11 RxURL c /<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span lang=PT-BR style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxProtocol c HTTP/1.0<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span lang=PT-BR style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c Host: </span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><a href="http://staging.site.com.au/" target="_blank"><span lang=PT-BR style='color:#1155CC'>staging.site.com.au</span></a></span><span lang=PT-BR style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p></o:p></span></p><p class=MsoNormal style='background:white'><span lang=PT-BR style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> </span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>11 RxHeader c X-Real-IP: 150.101.113.35<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c X-Forwarded-For: 150.101.113.35<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c Connection: close<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c Cache-Control: no-cache<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c Pragma: no-cache<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c Accept-Encoding: gzip,deflate,sdch<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> </span><span lang=FR style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>11 RxHeader c Accept-Language: en-US,en;q=0.8<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span lang=FR style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 RxHeader c Cookie: __gads=ID=1f70b5d5bf2eb903:T=1373344524:S=ALNI_MYS1RK-nxaklQLEIiCBMgSvpVDOXg; __utma=4009333.1369734685.1373238769.1373587007.1373846521.4; __utmc=4009333; __utmz=4009333.1373238769.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); the_cookie194=<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span lang=FR style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> </span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>11 VCL_call c recv lookup<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_call c hash<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 Hash c /<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 Hash c <a href="http://staging.site.com.au/" target="_blank"><span style='color:#1155CC'>staging.site.com.au</span></a><o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_return c hash<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 Hit c 806560950<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_call c hit deliver<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 VCL_call c deliver deliver<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxProtocol c HTTP/1.1<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxStatus c 200<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxResponse c OK<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Server: Apache/2.2.22 (Ubuntu)<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c X-Powered-By: PHP/5.3.10-1ubuntu3.7<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c X-Logged-In: False<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Content-Encoding: gzip<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c X-Content-Encoded-By: Joomla! 2.5<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Content-Type: text/html; charset=utf-8<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Content-Length: 12287<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Accept-Ranges: bytes<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Date: Tue, 13 Aug 2013 06:17:49 GMT<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c X-Varnish: 806561071 806560950<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Age: 288<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Via: 1.1 varnish<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c Connection: close<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c X-Cache: HIT<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 TxHeader c X-Cache-Hits: 4<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 Length c 12287<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 ReqEnd c 806561071 1376374669.010172367 1376374669.010374069 0.000091553 0.000092268 0.000109434<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> 11 SessionClose c Connection: close<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>Here are the relevant snippets from the default.vcl<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>sub vcl_recv {<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>....<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>..<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>.<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> if (req.request == "PURGE") {<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> if (!client.ip ~ purge) {<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> error 405 "Not allowed.";<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> }<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> return (lookup);<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>}<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>.....<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>..<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>.<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>}<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>sub vcl_hit {<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> if (req.request == "PURGE") {<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> error 200 "Purged.";<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> }<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>}<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>sub vcl_miss {<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> if (req.request == "PURGE") {<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> error 404 "Not in cache.";<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'> }<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>}<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>The cached content isn't something that has been generated after the cache being cleared, as its age precedes the PURGE being issued.<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>Unless someone out there knows of a varnish plugin for joomla (similar to the 'varnish http purge' available for wordpress), then I need to be able to manually issue cache purges.<o:p></o:p></span></p><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222'>Cheers,<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='color:#1F497D;mso-fareast-language:EN-US'>--<o:p></o:p></span></p><p class=MsoNormal><b><span style='color:#1F497D;mso-fareast-language:EN-US'>Paul McInerney<o:p></o:p></span></b></p><p class=MsoNormal><span style='color:#1F497D;mso-fareast-language:EN-US'>Senior Systems Administrator<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D;mso-fareast-language:EN-US'>Faredge Technology<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D;mso-fareast-language:EN-US'>P: +2 8425 1410<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D;mso-fareast-language:EN-US'>F: +2 8425 1489<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D;mso-fareast-language:EN-US'>M: +61 435 348 435<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D;mso-fareast-language:EN-US'>E: paul.mcinerney@faredge.com.au<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>