Hi,<div>actually in our setup we use NGINX as SSL termination before HAProxy.</div><div>HAProxy have some features that Nginx still doesn't have. Like backend max</div><div>connections and frontend queue. So you can do throtlling to prevent your backend</div>
<div>server high load and keep request from client in front. So the didn't get HTTP 500.</div><div>Another feature is splice system call, which makes HAProxy really fast with </div><div>low system load. </div><div><br>
</div><div>Lukas</div><div><br></div><div><br><div class="gmail_quote">On 28 March 2013 11:10, Reinis Rozitis <span dir="ltr"><<a href="mailto:r@roze.lv" target="_blank">r@roze.lv</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
But I still cannot understand why, in 2013 and with the latest version of nginx, we would still need haproxy in front of it.<br>
</blockquote>
<br></div>
You don't need it is just a thing of preference  or needs / that is also why we don't have a single webserver or database server software.<br>
<br>
<br>
But to name few advantages (at least for me) why I would use (and am doing it) haproxy as a balancer - it has more refined backend status/administrative page ( <a href="http://demo.1wt.eu/" target="_blank">http://demo.1wt.eu/</a> (without the admin features)).<br>

The nginx upstream module is lacking in this area and for now (as far as I know) you can only get info only via logging.<br>
<br>
You have detailed information of what's up and what's down / how many failures there have been. Also you can easily bring down any backends without the need to change configuration (in case of nginx would need to rewrite the config and do a reload).<div class="im">
<br>
<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Even Varnish.. nginx can cache too.<br>
</blockquote>
<br></div>
As to varnish - I preffer the memory mapped file instead of nginx approach of creating a file for each cachable object in filesystem.<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
rr <br></font></span><div class="HOEnZb"><div class="h5">
______________________________<u></u>_________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/<u></u>mailman/listinfo/nginx</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div>Lukáš Heřbolt</div><div>Linux Administrator</div><div><br></div><div>ET NETERA | smart e-business</div><div>[a] Milady Horákové 108, 160 00 Praha 6</div>
<div>[t] +420 725 267 158 [i] <a href="http://www.etnetera.cz" target="_blank">www.etnetera.cz</a> </div><div>~</div><div>[<a href="http://www.ifortuna.cz" target="_blank">www.ifortuna.cz</a>  | <a href="http://www.o2.cz" target="_blank">www.o2.cz</a>    | <a href="http://www.datart.cz" target="_blank">www.datart.cz</a> ]</div>
<div>[<a href="http://www.skodaplus.cz" target="_blank">www.skodaplus.cz</a> | <a href="http://www.nivea.cz" target="_blank">www.nivea.cz</a> | <a href="http://www.allianz.cz" target="_blank">www.allianz.cz</a>]</div><div>
<br></div><div><br></div><div>Created by ET NETERA | Powered by jNetPublish</div></div>
</div>