Was sind die Unterschiede zwischen HAProxy und Nginx, wenn es um die Fähigkeiten als Reverse Proxy geht?
Was sind die Unterschiede zwischen HAProxy und Nginx, wenn es um die Fähigkeiten als Reverse Proxy geht?
Antworten:
Update 2019:
Sie sind sowohl stabile als auch ausgereifte Produkte. HAProxy widmet sich dem Load Balancing und ist besser darin, wohingegen nginx ein Webserver ist, der als Load Balancer fungieren kann.
Beide:
HAProxy:
Nginx:
HAProxy ist eine freie Software, vollständig Open Source. Sie verdienen Geld, indem sie Hardware-Appliances mit vorinstalliertem HAProxy verkaufen.
Nginx ist Open Core und viele Funktionen sind nur in der kostenpflichtigen Version verfügbar. Es fehlen insbesondere eine Statusseite und Überwachungskennzahlen , die für den Betrieb eines Load Balancers von großer Bedeutung sind.
HAProxy ist eigentlich nur ein Load Balancer / Reverse Proxy. Nginx ist ein Webserver, der auch als Reverse Proxy fungieren kann.
Hier sind einige Unterschiede:
HAProxy:
Nginx :
Bei Stack Overflow verwenden wir hauptsächlich HAProxy mit Nginx für das SSL-Offloading, daher ist HAProxy meine Empfehlung.
Ich verwende Nginx für das Frontend von HAProxy, aber nur für die SSL-Kündigung.
HAProxy ist meiner Erfahrung nach ein viel besser einstellbarer und verwaltbarer Load Balancer.
Ich verwende auch Lack für das Zwischenspeichern statischer Objekte. (als spezifisches Backend von HAProxy)
Weitere Informationen finden Sie in dieser Frage zum Serverfehler. Bestellung von Nginx / Lack / Haproxy
Wenn es nur für den Lastausgleich benötigt wird, ist der HA-Proxy besser. Das Kombinieren von Nginix und HA-Proxy kann jedoch nützlicher sein, da Nginix schnell statische Inhalte bereitstellt, alle Anfragen nach statischen Daten bearbeitet und dann alle Anfragen an HA-Proxy sendet, die als Lastausgleich dienen, und Anfragen an den Webserver sendet, um zu dienen Anforderung durch Lastausgleich.