<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Courier New" size="2"><span style="font-size:10pt;">
<div>Hello,</div>
<div> </div>
<div>We are trying to upgrade to Varnish 4.1 from Varnish 3.0.5.</div>
<div> </div>
<div>Most things are working fine, but a big problem we are running into is that we have multiple backends. We switch backends based on URLs. This was working fine in Varnish 3, but when we switched over to Varnish 4, it stopped working.</div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div>I have tried many variations of the URLs, and even simplified the directors so that they only contain one backend (in my tests) so that I could switch from trying the backend directly to trying the director.</div>
<div> </div>
<div>Using either of the options does not seem to matter.</div>
<div> </div>
<div>Has anyone else run into this problem?</div>
<div> </div>
<div>Here are the sections of my VCL that contain the backends / director definitions and the if statements to switch. I have also left in the different options (lines) I have used to come up with different combinations for testing.</div>
<div> </div>
<div>probe B_probe {</div>
<div> .request =</div>
<div> "GET /zzzzzz/status.php HTTP/1.1"</div>
<div> "HOST: xxxxxx.example.com"</div>
<div> "Connection: close";</div>
<div> .timeout = 0.3 s;</div>
<div> .window = 8;</div>
<div> .threshold = 7;</div>
<div>}</div>
<div> </div>
<div>backend B_backend1 {</div>
<div> .host = "162.131.196.220";</div>
<div> .port = "8080";</div>
<div> .probe = B_probe;</div>
<div>}</div>
<div> </div>
<div>backend syscheck {</div>
<div># .host = "localhost";</div>
<div> .host = "127.0.0.1";</div>
<div> .port = "8081";</div>
<div>}</div>
<div> </div>
<div>backend searchBackend {</div>
<div> .host = "rp.www.example.com";</div>
<div> .port = "80";</div>
<div>}</div>
<div> </div>
<div>backend providerBackend {</div>
<div> .host = "172.23.82.28";</div>
<div> .port = "80";</div>
<div>}</div>
<div> </div>
<div>sub vcl_init {</div>
<div> new examplehosts = directors.round_robin();</div>
<div> examplehosts.add_backend(B_backend1);</div>
<div> </div>
<div> new examplesyscheck = directors.round_robin();</div>
<div> examplesyscheck.add_backend(syscheck);</div>
<div>}</div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div>sub vcl_recv {</div>
<div> </div>
<div># set req.backend_hint = examplehosts.backend();</div>
<div> set req.backend_hint = B_backend1;</div>
<div> </div>
<div> if (req.url ~ "^/syscheck/.*$") {</div>
<div># if (req.url ~ "^/syscheck/*") {</div>
<div># if (req.url ~ "^/syscheck/") {</div>
<div> set req.backend_hint = syscheck;</div>
<div># set req.backend_hint = examplesyscheck.backend();</div>
<div> return(pass);</div>
<div> }</div>
<div> </div>
<div> # Add simple health check for upstream load balancers</div>
<div> if (req.url ~ "^/health-check") {</div>
<div> return( synth(200, "UP"));</div>
<div> }</div>
<div>...</div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div>Thanks!<br>
<br>
A J Drew</div>
<div> </div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
</span></font>
<p class="MsoNormal" style="margin-top:12.0pt;line-height:normal"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">-----Message
Disclaimer-----<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:12.0pt;line-height:normal"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">This e-mail message is
intended only for the use of the individual or entity to which it is addressed,
and may contain information that is privileged, confidential and exempt from
disclosure under applicable law. If you are not the intended recipient, any
dissemination, distribution or copying of this communication is strictly
prohibited. If you have received this communication in error, please notify us
immediately by reply email to Connect@principal.com and delete or destroy all
copies of the original message and attachments thereto. Email sent to or from
the Principal Financial Group or any of its member companies may be retained as
required by law or regulation.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:12.0pt;line-height:normal"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">Nothing in this
message is intended to constitute an Electronic signature for purposes of the
Uniform Electronic Transactions Act (UETA) or the Electronic Signatures in
Global and National Commerce Act ("E-Sign") unless a specific
statement to the contrary is included in this message.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:12.0pt;line-height:normal"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">If you no longer wish
to receive any further solicitation from the Principal Financial Group you may
unsubscribe at </span><a href="https://www.principal.com/do-not-contact-form"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">https://www.principal.com/do-not-contact-form</span></a><span style="font-size:9.0pt;font-family:"Arial","sans-serif""> any time.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:12.0pt;line-height:normal"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">If you are a Canadian
resident and no longer wish to receive commercial electronic messages you may
unsubscribe at </span><a href="https://www.principal.com/do-not-email-request-canadian-residents"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">https://www.principal.com/do-not-email-request-canadian-residents</span></a><span style="font-size:9.0pt;font-family:"Arial","sans-serif""> any time.<br> <o:p></o:p></span></p></body>
</html>