<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="text-align: left;"><font face="Courier">Dear users,</font></div><div style="text-align: left;"><font face="Courier"><br></font></div><div style="text-align: left;"><font face="Courier">My first message here; I discussed my issue already with some folks on IRC; my main conclusion was that I should try it with a broader audience. So here's the problem:</font></div><div style="text-align: left;"><font face="Courier">* we're using the ngx_http_upstream_module, and ngx_http_upstream_fair_module together with the HttpProxyModule</font></div><div style="text-align: left;"><font face="Courier">* The 'proxy'-configuration looks like this:</font></div><div style="text-align: left;"><font face="Courier">location "/jvbnet/betsy/ip-vhost-trial/" {</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space: pre; "> </span>rewrite "^/jvbnet/betsy/ip-vhost-trial/(.*)$" "/$1" break;</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space:pre"> </span>proxy_pass <a href="http://0893697e3d3e9e1a78d79c5d3b13c258">http://0893697e3d3e9e1a78d79c5d3b13c258</a>;</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space:pre">        </span>proxy_set_header Host <a href="http://rd.devel.xxx-xxxxx.nl">rd.devel.xxx-xxxxx.nl</a>;</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space:pre">  </span>proxy_cache cache;</font></div><div style="text-align: left;"><font face="Courier">}</font></div><div style="text-align: left;"><font face="Courier"><br></font></div><div style="text-align: left;"><font face="Courier">* There is a separate configuration file defining the upstream: </font></div><div><div style="text-align: left;"><font face="Courier">upstream 0893697e3d3e9e1a78d79c5d3b13c258 {</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space:pre">   </span>server 172.17.88.10;</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space:pre">   </span>server 172.17.88.20 backup;</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space:pre">    </span>fair;</font></div><div style="text-align: left;"><font face="Courier">}</font></div></div><div style="text-align: left;"><font face="Courier"><br></font></div><div style="text-align: left;"><font face="Courier">* What I see:</font></div><div style="text-align: left;"><font face="Courier">- If no connection can be made to 172.17.88.10 (because I switched off Apache over there), no roll-over to 172.17.88.20 happens</font></div><div style="text-align: left;"><font face="Courier">- Next I remove the 'fair' command:</font></div><div><div style="text-align: left;"><font face="Courier">upstream 0893697e3d3e9e1a78d79c5d3b13c258 {</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space:pre">        </span>server 172.17.88.10;</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space:pre">   </span>server 172.17.88.20 backup;</font></div><div style="text-align: left;"><font face="Courier">}</font></div></div><div style="text-align: left;"><font face="Courier"><br></font></div><div style="text-align: left;"><font face="Courier">- Now, in the same situation, nginx -does- rollover to 172.17.88.20, as I expected</font></div><div style="text-align: left;"><font face="Courier"><br></font></div><div style="text-align: left;"><font face="Courier">* What I expected: nginx performing rollover in the first scenario</font></div><div style="text-align: left;"><font face="Courier"><br></font></div><div style="text-align: left;"><font face="Courier">I get the same results if more non-backup servers are configured. And if I put 'fair' as the first command in the initial scenario:</font></div><div><div style="text-align: left;"><font face="Courier">upstream 0893697e3d3e9e1a78d79c5d3b13c258 {</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space:pre">    </span>fair;</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space:pre">  </span>server 172.17.88.10;</font></div><div style="text-align: left;"><font face="Courier"><span class="Apple-tab-span" style="white-space:pre">   </span>server 172.17.88.20 backup;</font></div><div style="text-align: left;"><font face="Courier">}</font></div></div><div style="text-align: left;"><font face="Courier"><br></font></div><div style="text-align: left;"><font face="Courier">the nginx configuration tester gives an error:</font></div><div><div style="text-align: left;margin: 0px 0px 0px 122.4px; text-indent: -122.5px; font-size: 12px; "><font face="Courier">nginx: [emerg] invalid parameter "backup"</font></div></div><div style="text-align: left;margin: 0px 0px 0px 122.4px; text-indent: -122.5px; font-size: 12px; "><font face="Courier"><br></font></div><div style="text-align: left;margin: 0px 0px 0px 122.4px; text-indent: -122.5px; font-size: 12px; "><font face="Courier">To me it seems that the fair-module does not cooperate properly with the 'backup' parameter. Did anyone else notice this problem, and if so, is there a workaround/solution? Are there other configuration issues I may have to check?</font></div><div style="text-align: left;margin: 0px 0px 0px 122.4px; text-indent: -122.5px; font-size: 12px; "><font face="Courier"><br></font></div><div style="text-align: left;margin: 0px 0px 0px 122.4px; text-indent: -122.5px; font-size: 12px; "><font face="Courier">Sincerely,</font></div><div style="text-align: left;margin: 0px 0px 0px 122.4px; text-indent: -122.5px; font-size: 12px; "><font face="Courier">Jakob van Bethlehem</font></div><div style="text-align: left;"><br></div></body></html>