web-dev-qa-db-fra.com

Quelles sont les différences entre Haproxy et Nginx en mode proxy inverse?

Quelles sont les différences entre Haproxy et Nginx lorsqu'il s'agit de leurs capacités comme proxy inverse?

24
Quintin Par

Mise à jour 2019:

Ce sont des produits stables et matures. Haproxy est dédié à l'équilibrage de la charge et est meilleur à cela, alors que NGinx est un serveur Web qui peut agir comme équilibreur de charge.

les deux:

  • Support HTTPS
  • Support WebSocket
  • Produits stables, matures et très efficaces
  • Peut gérer les connexions de 10 km avec un réglage minimal ou sans aucun accord

haparroxy:

  • TCP, TCP-SSL, équilibrage de la charge HTTP et HTTPS
  • Plus de flexibilité sur les contrôles de santé et les conditions de basculement
  • Caching de base (V1.8 - 2017)
  • Format de journal personnalisable, pour importer des journaux d'accès à Kibana/Splunk/Graylog
  • Page d'état détaillée, pour voir les demandes actives et le statut des serveurs
  • Métriques exportables, pour intégrer des solutions de surveillance (graphite/Prométheus/DataDog)
  • Plus axé sur la haute performance. Mieux indiqué pour gérer 100k connexions ou 40 interfaces GBE.

nginx:

  • Équilibrage de charge HTTP et HTTPS (TCP - UDP dans Edition payante)
  • Plus de flexibilité sur la mise en cache
  • Format de journal personnalisable, pour importer des journaux d'accès à Kibana/Splunk/Graylog
  • Pas de page de statut (édition payée uniquement)
  • Pas de métriques exportables (édition payante uniquement)
  • Peut servir des fichiers locaux
  • Peut servir des applications FastCGI (pas CGI)

Haproxy est un logiciel libre, entièrement open source. Ils gagnent de l'argent en vendant un appareil de matériel avec Haproxy pré-installé.

NGinx est Open Core et de nombreuses fonctionnalités ne sont disponibles que dans l'édition payante. Notamment, il manque ne page d'état et des métriques de surveillance qui est un grand non non pour faire fonctionner un équilibreur de charge.

6
user5994461

Haproxy est vraiment juste un équilibreur de charge/proxy inversé. Nginx est un serveur Web pouvant également fonctionner comme un proxy inverse.

Voici quelques différences:

haproxy :

  • Est-ce que TCP== ainsi que proxy de HTTP (SSL ajouté à partir de 1.5-Dev12)
  • Plus d'options de limitation de tarif
  • L'auteur répond aux questions ici sur la faute du serveur ;-)

nginx:

  • Prend en charge la SSL directement
  • Est aussi un serveur de mise en cache

Au débordement de pile, nous utilisons principalement Haproxy avec Nginx pour le déchargement SSL pour que Haproxy est ma recommandation.

44
Kyle Brandt

Si nécessaire uniquement pour l'équilibrage de charge, Ha Proxy est meilleur. Mais la combinaison de Nginix et de la proxy HA peut être plus utile, car Nginix est rapide dans la fourniture de contenu statique, elle servira toutes les demandes de données statiques, puis envoyez toutes les demandes de proxy HA qui servent d'équilibreur de charge et d'envoi de demande au serveur Web pour servir demande en équilibrant la charge.

5
Mitesh