Quelles sont les différences entre HAProxy et Nginx en ce qui concerne leurs capacités de proxy inverse?
Quelles sont les différences entre HAProxy et Nginx en ce qui concerne leurs capacités de proxy inverse?
Réponses:
Mise à jour 2019:
Ce sont à la fois des produits stables et matures. HAProxy est dédié à l'équilibrage de charge et est meilleur dans ce domaine, tandis que nginx est un serveur Web qui peut agir comme un équilibreur de charge.
Tous les deux:
HAProxy:
Nginx:
HAProxy est un logiciel gratuit, entièrement open source. Ils gagnent de l'argent en vendant des appareils matériels avec HAProxy préinstallé.
Nginx est un noyau ouvert et de nombreuses fonctionnalités ne sont disponibles que dans l'édition payante. Il manque notamment une page d'état et des mesures de surveillance qui sont un gros NON NON pour faire fonctionner un équilibreur de charge.
HAProxy n'est vraiment qu'un équilibreur de charge / proxy inverse. Nginx est un serveur Web qui peut également fonctionner comme un proxy inverse.
Voici quelques différences:
HAProxy:
Nginx :
Chez Stack Overflow, nous utilisons principalement HAProxy avec nginx pour le déchargement SSL, donc HAProxy est ma recommandation.
J'utilise nginx pour l'interface HAProxy, mais uniquement pour la terminaison SSL.
HAProxy est un équilibreur de charge beaucoup plus ajustable et gérable (d'après mon expérience).
J'intègre également Varnish pour la mise en cache d'objets statiques. (en tant que backend spécifique de HAProxy)
Voir cette question de panne de serveur pour plus d'informations. Commande de nginx / vernis / haproxy
Si nécessaire uniquement pour l'équilibrage de charge, le proxy HA est préférable. Mais la combinaison de nginix et du proxy HA peut être plus utile, car nginix fournit rapidement du contenu statique, il servira toutes les demandes de données statiques, puis enverra toutes les demandes au proxy HA qui sert d'équilibreur de charge et envoie la demande au serveur Web pour servir demande en équilibrant la charge.