<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=utf-8"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"MS Gothic";
panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:"\@MS Gothic";
panose-1:2 11 6 9 7 2 5 8 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Balloon Text Char";
margin:0in;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";}
span.apple-tab-span
{mso-style-name:apple-tab-span;}
span.hoenzb
{mso-style-name:hoenzb;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-priority:99;
mso-style-link:"Balloon Text";
font-family:"Tahoma","sans-serif";}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
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-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>If you are using Varnish 3 you can remove the Accept-Encoding logic. It is handled automatically now.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I’m also assuming you copied this from the default vcl_recv. <o:p></o:p></span></p><p class=MsoNormal><span class=apple-tab-span> </span>## Default request checks<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>if (req.request != "GET" &&<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "HEAD" &&<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "PUT" &&<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "POST" &&<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "TRACE" &&<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "OPTIONS" &&<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "DELETE") {<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span># Non-RFC2616 or CONNECT which is weird.<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>return (pipe);<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>if (req.request != "GET" && req.request != "HEAD") {<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span># We only deal with GET and HEAD by default<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>return (pass);<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>if (req.request != "GET" && req.request != "HEAD") {<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span># We only deal with GET and HEAD by default<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>return (pass);<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>## Modified from default to allow caching if cookies are set, but not http auth<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>if (req.http.Authorization) {<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>/* Not cacheable by default */<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>return (pass);<o:p></o:p></p><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I would personally get rid of it and let the default vcl_recv handle it. You also have a comment <o:p></o:p></span></p><p class=MsoNormal>## Modified from default to allow caching if cookies are set, but not http auth<o:p></o:p></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>This is not actually happening. At the end of your vcl_recv you don’t do a return (lookup) so the default vcl_recv runs anyway and it will pass if any cookie is present. If you really want to cache responses with a cookie you should take a look at <a href="https://www.varnish-cache.org/trac/wiki/VCLExampleCachingLoggedInUsers">https://www.varnish-cache.org/trac/wiki/VCLExampleCachingLoggedInUsers</a>. But be careful of what you cache. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><br>Also if you know your backend only responds to specific cookies you can look at the regexp at <a href="https://www.varnish-cache.org/docs/3.0/tutorial/cookies.html">https://www.varnish-cache.org/docs/3.0/tutorial/cookies.html</a> and strip off all the cookies except the ones you care about.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>If you want to see which urls are getting sent to the backend you can do a <b>varnishlog -b -i TxURL</b>.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Raul<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Shaohui Zheng [mailto:shaohui.zheng@gmail.com] <br><b>Sent:</b> Wednesday, January 09, 2013 12:53 AM<br><b>To:</b> Rangel, Raul<br><b>Cc:</b> varnish-misc@varnish-cache.org<br><b>Subject:</b> Re: 503 Error was met frequently<o:p></o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Thanks for Rangel Raul's suggestion, after did some home work, You did me a great favor, I draft an new VCL configure file<o:p></o:p></p></div><div><p class=MsoNormal>=======================================<o:p></o:p></p></div><div><p class=MsoNormal>backend nanjing {<o:p></o:p></p></div><div><p class=MsoNormal> .host = "10.80.125.66";<o:p></o:p></p></div><div><p class=MsoNormal> #.host = "10.36.146.202";<o:p></o:p></p></div><div><p class=MsoNormal> .port = "80";<o:p></o:p></p></div><div><p class=MsoNormal> .connect_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal> .first_byte_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal> .between_bytes_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal> .max_connections = 500;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.probe = {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.url = "/live.html";<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.interval = 1s;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.timeout = 30s;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.window = 10;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.threshold = 2;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span> }<o:p></o:p></p></div><div><p class=MsoNormal> }<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>backend hangzhou {<o:p></o:p></p></div><div><p class=MsoNormal> .host = "10.80.125.68";<o:p></o:p></p></div><div><p class=MsoNormal> #.host = "10.36.146.202";<o:p></o:p></p></div><div><p class=MsoNormal> .port = "80";<o:p></o:p></p></div><div><p class=MsoNormal> .connect_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal> .first_byte_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal> .between_bytes_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal> .max_connections = 500;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.probe = {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.url = "/live.html";<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.interval = 1s;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.timeout = 30s;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.window = 10;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.threshold = 2;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span> }<o:p></o:p></p></div><div><p class=MsoNormal> }<o:p></o:p></p></div><div><p class=MsoNormal>backend chongqing {<o:p></o:p></p></div><div><p class=MsoNormal> .host = "10.80.125.76";<o:p></o:p></p></div><div><p class=MsoNormal> #.host = "10.36.146.202";<o:p></o:p></p></div><div><p class=MsoNormal> .port = "80";<o:p></o:p></p></div><div><p class=MsoNormal> .connect_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal> .first_byte_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal> .between_bytes_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal> .max_connections = 500;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.probe = {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.url = "/live.html";<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.interval = 1s;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.timeout = 30s;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.window = 10;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.threshold = 2;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span> }<o:p></o:p></p></div><div><p class=MsoNormal> }<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>director proxy random {<o:p></o:p></p></div><div><p class=MsoNormal> {<o:p></o:p></p></div><div><p class=MsoNormal> .backend = chongqing;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.weight = 2;<o:p></o:p></p></div><div><p class=MsoNormal> }<o:p></o:p></p></div><div><p class=MsoNormal> {<o:p></o:p></p></div><div><p class=MsoNormal> .backend = nanjing;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.weight = 4;<o:p></o:p></p></div><div><p class=MsoNormal> }<o:p></o:p></p></div><div><p class=MsoNormal> {<o:p></o:p></p></div><div><p class=MsoNormal> .backend = hangzhou;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>.weight = 4;<o:p></o:p></p></div><div><p class=MsoNormal> }<o:p></o:p></p></div><div><p class=MsoNormal>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>#acl purge {<o:p></o:p></p></div><div><p class=MsoNormal># "localhost";<o:p></o:p></p></div><div><p class=MsoNormal># "10.80.125.0"/24;<o:p></o:p></p></div><div><p class=MsoNormal>#}<o:p></o:p></p></div><div><p class=MsoNormal>#<o:p></o:p></p></div><div><p class=MsoNormal>sub vcl_recv {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>set req.backend = proxy;<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># remove Cookies <span style='font-family:"MS Gothic"'>(</span>ingore cookie for static page<span style='font-family:"MS Gothic"'>)</span><o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.url ~ "^/[^?]+\.(jpeg|jpg|png|gif|ico|js|css|txt|zip)(\?.*|)$") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>unset req.http.cookie;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># ignore cookie for product page, it might pesudo static page<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.url ~ "^/[^?]+-product-?+\.(html)(\?.*|)$") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>unset req.http.cookie;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># remove Cookies on home page<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.url ~ "^/$") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>unset req.http.cookie;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># Allow a grace period for offering "stale" data in case backend lags<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>set req.grace = 5m;<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>remove req.http.X-Forwarded-For;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>set req.http.X-Forwarded-For = client.ip;<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># Properly handle different encoding types<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.http.Accept-Encoding) {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.url ~ "\.(jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg)$") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># No point in compressing these<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>remove req.http.Accept-Encoding;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>} elsif (req.http.Accept-Encoding ~ "gzip") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>set req.http.Accept-Encoding = "gzip";<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>} elsif (req.http.Accept-Encoding ~ "deflate") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>set req.http.Accept-Encoding = "deflate";<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>} else {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># unkown algorithm<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>remove req.http.Accept-Encoding;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># Force lookup if the request is a no-cache request from the client<o:p></o:p></p></div><div><p class=MsoNormal>#<span class=apple-tab-span> </span>if (req.http.Cache-Control ~ "no-cache") {<o:p></o:p></p></div><div><p class=MsoNormal>#<span class=apple-tab-span> </span>return (pass);<o:p></o:p></p></div><div><p class=MsoNormal>#<span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>## Default request checks<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.request != "GET" &&<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "HEAD" &&<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "PUT" &&<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "POST" &&<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "TRACE" &&<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "OPTIONS" &&<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>req.request != "DELETE") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># Non-RFC2616 or CONNECT which is weird.<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>return (pipe);<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.request != "GET" && req.request != "HEAD") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># We only deal with GET and HEAD by default<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>return (pass);<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.request != "GET" && req.request != "HEAD") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># We only deal with GET and HEAD by default<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>return (pass);<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>## Modified from default to allow caching if cookies are set, but not http auth<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.http.Authorization) {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>/* Not cacheable by default */<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>return (pass);<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># ORVSD tweaks<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>## Remove has_js and Google Analytics cookies.<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>set req.http.Cookie = regsuball(req.http.Cookie, "(^|;\s*)(__[a-z]+|has_js)=[^;]*", "");<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>## Remove a ";" prefix, if present.<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>set req.http.Cookie = regsub(req.http.Cookie, "^;\s*", "");<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>## Remove empty cookies.<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.http.Cookie ~ "^\s*$") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>unset req.http.Cookie;<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.url ~ ".*/server-status$") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>return (pass);<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>## Pass php page<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.url ~ ".php") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>return (pass);<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>## Pass admin<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.url ~ "(admin|cs_department)") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>return (pass);<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>if (req.url ~ ".*/server-status$") {<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>return (pass);<o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-tab-span> </span># The default vcl_recv is used from here.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal># Do the PURGE thing<o:p></o:p></p></div><div><p class=MsoNormal>sub vcl_hit {<o:p></o:p></p></div><div><p class=MsoNormal> #if (req.request == "PURGE") {<o:p></o:p></p></div><div><p class=MsoNormal> # purge('');<o:p></o:p></p></div><div><p class=MsoNormal> # error 200 "Purged";<o:p></o:p></p></div><div><p class=MsoNormal> #}<o:p></o:p></p></div><div><p class=MsoNormal>}<o:p></o:p></p></div><div><p class=MsoNormal>sub vcl_miss {<o:p></o:p></p></div><div><p class=MsoNormal> # if (req.request == "PURGE") {<o:p></o:p></p></div><div><p class=MsoNormal> # purge('');<o:p></o:p></p></div><div><p class=MsoNormal> # error 200 "Purged";<o:p></o:p></p></div><div><p class=MsoNormal> # }<o:p></o:p></p></div><div><p class=MsoNormal>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>sub vcl_fetch {<o:p></o:p></p></div><div><p class=MsoNormal> if (beresp.ttl < 3600s) {<o:p></o:p></p></div><div><p class=MsoNormal> set beresp.ttl = 3600s;<o:p></o:p></p></div><div><p class=MsoNormal> }<o:p></o:p></p></div><div><p class=MsoNormal>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>the data of varnishstat<o:p></o:p></p></div><div><p class=MsoNormal>=======================================<o:p></o:p></p></div><div><p class=MsoNormal>0+00:48:47 vcache-my<o:p></o:p></p></div><div><p class=MsoNormal>Hitrate ratio: 10 81 81<o:p></o:p></p></div><div><p class=MsoNormal>Hitrate avg: 0.9317 0.9485 0.9485<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal> 257260 82.90 87.89 client_conn - Client connections accepted<o:p></o:p></p></div><div><p class=MsoNormal> 367561 147.82<span class=apple-tab-span> </span>125.58 client_req - Client requests received<o:p></o:p></p></div><div><p class=MsoNormal> 74714 41.95 25.53 cache_hit - Cache hits<o:p></o:p></p></div><div><p class=MsoNormal> 35 0.00 0.01 cache_hitpass - Cache hits for pass<o:p></o:p></p></div><div><p class=MsoNormal> 4438 2.00 1.52 cache_miss - Cache misses<o:p></o:p></p></div><div><p class=MsoNormal> 292546 113.86 99.95 backend_conn - Backend conn. success<o:p></o:p></p></div><div><p class=MsoNormal> 1090 0.00 0.37 backend_fail - Backend conn. failures<o:p></o:p></p></div><div><p class=MsoNormal> 8 0.00 0.00 fetch_head - Fetch head<o:p></o:p></p></div><div><p class=MsoNormal> 262473 89.89 89.67 fetch_length - Fetch with Length<o:p></o:p></p></div><div><p class=MsoNormal> 27652 14.98 9.45 fetch_chunked - Fetch chunked<o:p></o:p></p></div><div><p class=MsoNormal> 2095 1.00 0.72 fetch_close - Fetch wanted close<o:p></o:p></p></div><div><p class=MsoNormal> 243 0.00 0.08 fetch_304 - Fetch no body (304)<o:p></o:p></p></div><div><p class=MsoNormal> 837 . . n_sess_mem - N struct sess_mem<o:p></o:p></p></div><div><p class=MsoNormal> 601 . . n_sess - N struct sess<o:p></o:p></p></div><div><p class=MsoNormal> 3748 . . n_object - N struct object<o:p></o:p></p></div><div><p class=MsoNormal> 4169 . . n_objectcore - N struct objectcore<o:p></o:p></p></div><div><p class=MsoNormal> 4169 . . n_objecthead - N struct objecthead<o:p></o:p></p></div><div><p class=MsoNormal> 455 . . n_waitinglist - N struct waitinglist<o:p></o:p></p></div><div><p class=MsoNormal> 127 . . n_vbc - N struct vbc<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>the backend workload is much better than before, I want to know which page is not cached,it can help me to improve the cache hit ratio, can I get some debug information from varnishstat? thanks. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Do you have some more advice for my VCL configuration file.?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>On Tue, Jan 8, 2013 at 10:38 AM, Shaohui Zheng <<a href="mailto:shaohui.zheng@gmail.com" target="_blank">shaohui.zheng@gmail.com</a>> wrote:<o:p></o:p></p><p class=MsoNormal>Yes, when the 503 error is happened, all my backend is in heavy load, the load is more than 40. the very strange thing is that I can wget the probe file hundreds times, and there is no fail. I can not explain it.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>We use cookie to save customers information, when guest come back to our website, it helps to do auto login. our varnish server work load is very low, under 1.0 in most time, but web server is in heavy load. Your answer can explain it. <o:p></o:p></p></div><div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>the hit raito sees terrible. that is the output of varnishstat:<o:p></o:p></p></div><div><div><p class=MsoNormal>varnishstat -n vcache-my<o:p></o:p></p></div><div><p class=MsoNormal>=========================================================================<o:p></o:p></p></div><div><p class=MsoNormal>0+09:20:26 vcache-my<o:p></o:p></p></div><div><p class=MsoNormal>Hitrate ratio: 8 8 8<o:p></o:p></p></div><div><p class=MsoNormal>Hitrate avg: 0.6145 0.6145 0.6145<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal> 4195411 61.92 124.77 client_conn - Client connections accepted<o:p></o:p></p></div><div><p class=MsoNormal> 5371966 65.92 159.76 client_req - Client requests received<o:p></o:p></p></div><div><p class=MsoNormal> 372757 7.99 11.09 cache_hit - Cache hits<o:p></o:p></p></div><div><p class=MsoNormal> 6820 1.00 0.20 cache_hitpass - Cache hits for pass<o:p></o:p></p></div><div><p class=MsoNormal> 63206 3.00 1.88 cache_miss - Cache misses<o:p></o:p></p></div><div><p class=MsoNormal> 4240160 71.91 126.10 backend_conn - Backend conn. success<o:p></o:p></p></div><div><p class=MsoNormal> 2277628 0.00 67.73 backend_fail - Backend conn. failures<o:p></o:p></p></div><div><p class=MsoNormal> 84 0.00 0.00 fetch_head - Fetch head<o:p></o:p></p></div><div><p class=MsoNormal> 3387280 52.93 100.73 fetch_length - Fetch with Length<o:p></o:p></p></div><div><p class=MsoNormal> 417030 3.99 12.40 fetch_chunked - Fetch chunked<o:p></o:p></p></div><div><p class=MsoNormal> 8669 1.00 0.26 fetch_close - Fetch wanted close<o:p></o:p></p></div><div><p class=MsoNormal> 4 0.00 0.00 fetch_failed - Fetch failed<o:p></o:p></p></div><div><p class=MsoNormal> 428006 0.00 12.73 fetch_304 - Fetch no body (304)<o:p></o:p></p></div><div><p class=MsoNormal> 919 . . n_sess_mem - N struct sess_mem<o:p></o:p></p></div><div><p class=MsoNormal> 339 . . n_sess - N struct sess<o:p></o:p></p></div><div><p class=MsoNormal> 7159 . . n_object - N struct object<o:p></o:p></p></div><div><p class=MsoNormal> 7633 . . n_objectcore - N struct objectcore<o:p></o:p></p></div><div><p class=MsoNormal> 7635 . . n_objecthead - N struct objecthead<o:p></o:p></p></div><div><p class=MsoNormal> 875 . . n_waitinglist - N struct waitinglist<o:p></o:p></p></div><div><p class=MsoNormal> 62 . . n_vbc - N struct vbc<o:p></o:p></p></div><div><p class=MsoNormal> 1000 . . n_wrk - N worker threads<o:p></o:p></p></div><div><p class=MsoNormal> 1000 0.00 0.03 n_wrk_create - N worker threads created<o:p></o:p></p></div><div><p class=MsoNormal> 219 0.00 0.01 n_wrk_queued - N queued work requests<o:p></o:p></p></div><div><p class=MsoNormal> 3 . . n_backend - N backends<o:p></o:p></p></div><div><p class=MsoNormal> 48739 . . n_expired - N expired objects<o:p></o:p></p></div><div><p class=MsoNormal> 2567 . . n_lru_moved - N LRU moved objects<o:p></o:p></p></div><div><p class=MsoNormal> 143 0.00 0.00 losthdr - HTTP header overflows<o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>That is great, thanks Rangel, Raul, your information is import for me, I will rewrite the vcl_recv function.<o:p></o:p></p></div><div><div><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><p class=MsoNormal>On Tue, Jan 8, 2013 at 2:52 AM, Rangel, Raul <<a href="mailto:Raul.Rangel@disney.com" target="_blank">Raul.Rangel@disney.com</a>> wrote:<o:p></o:p></p><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>What is the load on your backend servers? It seems like they are under heavy load. One thing I did notice in your vcl_recv is the cookie code. You are checking the existence of a specific cookie and passing if it exists. If that cookie does not exist you fall back to the default vcl_recv. Well the default vcl_recv also does a check on req.http.Cookie. If it finds one then it also does a pass. My guess would be that most of your incoming requests have some sort of cookie and thus all the requests are getting passed to the backend. Have you done a varnishstat and looked at your cache hit ratios?</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>If I were you I would add a unset req.http.cookie to the end of vcl_recv. This way the default vcl_recv won’t pass the request.</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Raul</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:varnish-misc-bounces@varnish-cache.org" target="_blank">varnish-misc-bounces@varnish-cache.org</a> [mailto:<a href="mailto:varnish-misc-bounces@varnish-cache.org" target="_blank">varnish-misc-bounces@varnish-cache.org</a>] <b>On Behalf Of </b>Shaohui Zheng<br><b>Sent:</b> Monday, January 07, 2013 11:16 AM<br><b>To:</b> <a href="mailto:varnish-misc@varnish-cache.org" target="_blank">varnish-misc@varnish-cache.org</a><br><b>Subject:</b> 503 Error was met frequently</span><o:p></o:p></p></div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Hello,<o:p></o:p></p><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> After a few days efforts, I did not get my problem fixed, I almost exhaust every possible methods which I could do, so I am trying to get help from the community. <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I use varnish as web cache and load balancer to manage 3 web nodes, but recently, I get 503 errors frequently, <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>My varnish configuration file:<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>=======================================================<o:p></o:p></p></div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>backend nanjing {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .host = "10.80.125.66";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .port = "80";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .connect_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .first_byte_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .between_bytes_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .probe = {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .url = "/live.html";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .interval = 1s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .timeout = 3s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .window = 10;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .threshold = 2;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>backend hangzhou {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .host = "10.80.125.68";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> #.host = "10.36.146.202";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .port = "80";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .connect_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .first_byte_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .between_bytes_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .probe = {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .url = "/live.html";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .interval = 1s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .timeout = 3s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .window = 10;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .threshold = 2;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>backend chongqing {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .host = "10.80.125.76";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .port = "80";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .connect_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .first_byte_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .between_bytes_timeout = 1800s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .probe = {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .url = "/live.html";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .interval = 1s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .timeout = 3s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .window = 10;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .threshold = 2;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>director proxy random {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .backend = chongqing;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .weight = 2;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .backend = nanjing;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .weight = 4;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .backend = hangzhou;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> .weight = 4;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>}<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>acl purge {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> "localhost";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> "10.80.125.0"/24;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>}<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>sub vcl_recv {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> set req.backend = proxy;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> if (req.request != "GET" && req.request != "HEAD") {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # POST - Logins and edits<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> if (req.request == "POST") {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> return(pass);<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # PURGE - The CacheFu product can invalidate updated URLs<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> if (req.request == "PURGE") {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> if (!client.ip ~ purge) {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> error 405 "Not allowed.";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> return(lookup);<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # Don't cache authenticated requests<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> if (req.http.Cookie && req.http.Cookie ~ "__ac(|_(name|password|persistent))=") {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # Force lookup of specific urls unlikely to need protection<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> if (req.url ~ "\.(js|css)") {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> remove req.http.cookie;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> return(lookup);<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> return(pass);<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # The default vcl_recv is used from here.<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>sub vcl_hit {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # if (req.request == "PURGE") {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # purge('');<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # error 200 "Purged";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>}<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>sub vcl_miss {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # if (req.request == "PURGE") {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # purge('');<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # error 200 "Purged";<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> # }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>}<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'># Enforce a minimum TTL, since we can PURGE changed objects actively<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'># from Zope by using the CacheFu product<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>sub vcl_fetch {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> if (beresp.ttl < 3600s) {<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> set beresp.ttl = 3600s;<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> }<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>}<o:p></o:p></p></div></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Varnish boots up script<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>==========================================<o:p></o:p></p></div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> varnishd -f /etc/varnish/my.vcl -s malloc,8192M -a $ip:80 \<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -T $ip:2048 \<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -n vcache-my\<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -p thread_pools=2 \<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -p thread_pool_max=15000\<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -p thread_pool_min=500\<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -p listen_depth=2048 \<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -p lru_interval=1800 \<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -h classic,169313 \<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -p connect_timeout=1800 \<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -p http_max_hdr=8192\<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -p http_resp_hdr_len=18192\<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> -p max_restarts=6 <o:p></o:p></p></div></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I try to the backend status:<o:p></o:p></p></div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>[root@hongkong varnish]# varnishadm -n vcache-my backend.list<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>==============================================<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Backend name Refs Admin Probe<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>nanjing(10.80.125.66,,80) 68 probe Healthy 8/10<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>hangzhou(10.80.125.68,,80) 66 probe Healthy 7/10<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>chongqing(10.80.125.76,,80) 23 probe Healthy 9/10<o:p></o:p></p></div></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I already downgrade the .threshold from 8 to 2, so it can make sure the all the node is in Healthy status, if I set the .threshold to 8,<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>most of the node will be Sick.<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I try to use a script to wget the probe page every 2 seconds, there is no failure, but it is always have failure in the command 'backend.list', <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I have to script to watch the status of my website:<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>----------------------------------------------------------------------------------<o:p></o:p></p></div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>#!/bin/bash<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>pass=0<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>fail=0<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>while [ 1 ]<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>do<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> wget <a href="http://mysite/live.html" target="_blank">http://mysite/live.html</a> -O /dev/null<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> if [ $? -eq 0 ];then<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> pass=$(expr $pass + 1)<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> else<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> fail=$(expr $fail + 1)<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> fi<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> echo -e "pass: $pass\n fail: $fail" <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> sleep 5<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>done<o:p></o:p></p></div></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>25% failed, it is very strange thing, I have no clue about it, <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Example result about the varnish log:<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>=======================================<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>varnishlog -n vcache-my| tee -a /var/log/varnish.log<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 RxHeader c Connection: keep-alive<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 RxHeader c User-Agent: Mozilla/5.0 (iPad; CPU OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A523 Safari/8536.25<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 VCL_call c recv pass<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 VCL_call c hash<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 Hash c /<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 Hash c <a href="http://www.mywebsite.com" target="_blank">www.mywebsite.com</a><o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 VCL_return c hash<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 VCL_call c pass pass<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 FetchError c no backend connection<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 VCL_call c error deliver<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 VCL_call c deliver deliver<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 TxProtocol c HTTP/1.1<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 TxStatus c 503<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 TxResponse c Service Unavailable<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 TxHeader c Server: Varnish<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 TxHeader c Content-Type: text/html; charset=utf-8<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 TxHeader c Retry-After: 5<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 TxHeader c Content-Length: 419<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 TxHeader c Accept-Ranges: bytes<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 TxHeader c Date: Mon, 07 Jan 2013 18:03:02 GMT<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> 977 TxHeader c X-Varnish: <a href="tel:2122413499" target="_blank">2122413499</a><o:p></o:p></p></div></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>more varnish log:<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>shaohui dot org/downloads/varnish.tgz<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>this 503 error make my website trap in troubles, my customers can not access my site, I did not have any clue, can some body provide some advices, thanks so much. <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>-- <br>Best regards<br>Shaohui <o:p></o:p></p></div></div></div></div></div></div></div><p class=MsoNormal><br><br clear=all><o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div></div></div><p class=MsoNormal><span class=hoenzb><span style='color:#888888'>-- </span></span><span style='color:#888888'><br><span class=hoenzb>Best regards</span><br><span class=hoenzb>Shaohui </span></span><o:p></o:p></p></div></div></div><p class=MsoNormal><br><br clear=all><o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>-- <br>Best regards<br>Shaohui <o:p></o:p></p></div></body></html>