<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Dear Varnish-Team, <br>
</p>
<p><br>
</p>
<p>First of all I would like to congratulate you for such an awesome product. <br>
</p>
<p><br>
</p>
<p>We wanted to send traffic directly to go-routers, which require us to send traffic to service port 80, but, do the health-check on port 8080. As doing the health check on port 80 is deprecated on go-routers. <br>
</p>
<p><br>
</p>
<p>We came across one such vmod <em>oob_probe</em>, which let us to do exactly the same what we are looking for. But this vmod is only compatible with varnish 4.1 and we are currently using the varnish version 5.2.</p>
<p><br>
</p>
<p>The another method we tried, we defined 2 backends in VCL one for port 80 and another for port 8080 for each go-router.</p>
<p><br>
</p>
<p>Then we applied round-robin director on backends wit​h port 8080. In assumption that
<em>director_round_robin.backend() </em>will give us the name of the selected backend, where the incoming request will be forwarded to. Thereafter, we can modify the backend for example in vcl_backend_fetch() and set the correct definition of the backend, if
 the backend selected is go-router1:8080 by the round_robin director, we would set the backend <span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; background-color: rgb(255, 255, 255);">go-router1:80. </span></p>
<p>B<span style="font-size: 12pt;">ut,</span><span style="font-size: 12pt;"> this was also p</span><span style="font-size: 12pt;">roblematic as</span><em style="font-size: 12pt;"> </em><span><em>director_round_robin.backend()</em></span><span style="font-size: 12pt;"> just
 return the name of</span><span style="font-size: 12pt;"> </span><span style="font-size: 12pt;">director object, but, not the name of the</span><span style="font-size: 12pt;"> chosen</span><span style="font-size: 12pt;"> </span><span style="font-size: 12pt;">backend </span><span style="font-size: 12pt;">.
 Is there a way to fetch the name of backend chosen </span><span style="font-size: 12pt;">b</span><span style="font-size: 12pt;">y the director before the request is sent to the backend</span><span style="font-size: 12pt;">? I am familiar i</span><span style="font-size: 12pt;">t
 is possible to do so in </span><em style="font-size: 12pt;">vcl_backend_response. </em><span style="font-size: 12pt;">However, this is not very useful for us, in this scenario</span><span style="font-size: 12pt;">.</span><span style="font-size: 12pt;"> </span><br>
</p>
<p><span style="font-size: 12pt;"><br>
</span></p>
<p><span style="font-size: 12pt;">Best regards,</span></p>
<p>Naveen Goswami<br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
</body>
</html>