Installer HAProxy 1.7 sur Debian 9.1 (Stretch)

HAProxy est une application logicielle réseau qui offre une haute disponibilité, un équilibrage de charge et un proxy pour les applications réseau TCP et HTTP. Il convient aux sites Web à fort trafic et alimente de nombreux sites populaires sur le Web. Cet article vous montrera comment installer et configurer HAProxy sur Debian 9.1.

Bien que HAProxy possède plusieurs fonctionnalités importantes, cet article se concentre sur la façon de configurer HAProxy pour "proxy" votre application Web.

Exigences

  • Au moins deux serveurs Vultr (pour la fonctionnalité d'équilibrage de charge) avec votre site Web ou application Web déployés sur les deux.

Installer HAProxy

Debian 9 est déjà livrée avec HAProxy 1.7 (dernière version stable au moment de la rédaction), et nous pouvons simplement l'installer en utilisant apt-get:

# apt-get update
# apt-get install haproxy

Si les commandes précédentes ont réussi, vous avez installé HAProxy et vous pouvez passer à l'étape suivante.

Configuration de HAProxy

Le fichier de configuration HAProxy est divisé en deux sections - «globale» et «proxies». L'une concerne la configuration à l'échelle du processus, tandis que la seconde se compose de sections de configuration par défaut, frontend et backend.

Section mondiale

À l'aide de votre éditeur de texte préféré, ouvrez /etc/haproxy/haproxy.cfget notez les sections prédéfinies: "globale" et "par défaut". La première chose que vous voudrez peut-être faire est d'augmenter la maxconnà une taille raisonnable, car cela affecte les connexions autorisées par HAProxy. Trop de connexions peuvent entraîner le blocage de votre service Web en raison de nombreuses demandes. Vous devrez ajuster la taille pour voir ce qui fonctionne pour vous. Dans la section globale, nous avons choisi une maxconnvaleur de 3072.

global
    daemon
    maxconn 3072

Dans la section par défaut, ajoutez la ligne suivante sous mode http:

option forwardfor

Cela ajoutera des en- X-Forwarded-Fortêtes à chaque demande, ce qui permettra à vos serveurs principaux d'apprendre l'adresse IP d'origine de l'utilisateur.

Ajoutez également cette ligne pour activer le mode de fermeture de connexion HTTP côté serveur tout en conservant la possibilité de prendre en charge la persistance HTTP côté client. Cela réduit la latence côté client et permet de conserver les ressources du serveur:

option http-server-close

Si vous souhaitez utiliser keep-alive à la fois côté client et côté serveur, vous pouvez utiliser à la option http-keep-aliveplace. Cette option est particulièrement utile lorsque le coût d'établissement d'une nouvelle connexion au serveur est important par rapport au coût de récupération de la ressource demandée.

Enfin, le fichier de configuration résultant ressemblera à ceci:

defaults
    mode http
    option forwardfor
    option http-server-close
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

Section des procurations

Pour configurer votre proxy, vous devrez ajouter deux sections au fichier de configuration pour définir les deux parties du proxy: le frontend et le backend.

Configuration frontale

Le frontend gérera vos connexions HTTP. Ajoutez ce qui suit à la fin de votre haproxy.cfgfichier:

frontend http-frontend
    bind public_ip:80
    reqadd X-Forwarded-Proto:\ http
    default_backend wwwbackend

Assurez-vous de le remplacer public_ippar l'adresse IP publique ou le nom de domaine de votre serveur.

Configuration du backend

Configurez votre backend en ajoutant les lignes suivantes à la fin de votre fichier de configuration:

backend wwwbackend
    server 1-www server1_ip:80 check
    server 2-www server2_ip:80 check
    server 3-www server3_ip:80 check

La configuration backend utilisée ici crée 3 connexions nommées X-www. ( Xest 1, 2 ou 3.) Chacun d'eux correspond à une serverX_ip:80 adresse. (Remplacez serverX_ippar les adresses IP de vos instances Vultr.) Cela vous permettra d'équilibrer la charge entre chaque serveur de l'ensemble de serveurs spécifié (en supposant que chaque adresse IP correspond à un serveur différent). L' checkoption permet à l'équilibreur de charge d'effectuer des contrôles d'intégrité sur le serveur.

Enregistrez le fichier de configuration, puis redémarrez HAProxy:

service haproxy restart

Si tout fonctionne, vous pourrez vous connecter à http://public_ip/(en le remplaçant par votre adresse IP publique ou votre nom de domaine tel que configuré à l'étape frontend) et afficher votre site Web.

Erreurs de débogage

Si votre instance HAProxy refuse de démarrer après vos modifications, il est probable que vous ayez une erreur quelque part dans le fichier de configuration. Pour obtenir des messages clairs sur le problème dans le fichier de configuration, vous pouvez essayer de démarrer HAProxy manuellement à l'aide de cette commande:

# haproxy -f /etc/haproxy/haproxy.cfg

Par exemple, si vous voyez une sortie comme celle-ci:

[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.

Ensuite, vous avez oublié de spécifier le numéro de port du serveur 1-www.



Leave a Comment

Configurez votre propre réseau privé avec OpenVPN

Configurez votre propre réseau privé avec OpenVPN

Vultr vous offre une connectivité réseau privée impressionnante pour les serveurs fonctionnant au même endroit. Mais parfois, vous voulez deux serveurs dans des pays différents

Configurer un Chroot sur Debian

Configurer un Chroot sur Debian

Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, bu

Comment installer PiVPN sur Debian

Comment installer PiVPN sur Debian

Introduction Un moyen facile de configurer un serveur VPN sur Debian est avec PiVPN. PiVPN est un installateur et un wrapper pour OpenVPN. Il crée des commandes simples pour vous t

Comment installer Kanboard sur Debian 9

Comment installer Kanboard sur Debian 9

Vous utilisez un système différent? Introduction Kanboard est un logiciel de gestion de projet gratuit et open source conçu pour faciliter et visualiser

Comment installer Neos CMS sur Debian 9

Comment installer Neos CMS sur Debian 9

Vous utilisez un système différent? Neos est une plate-forme dapplication de contenu avec un CMS et un cadre dapplication en son cœur. Ce guide vous montrera comment installer

Configurer Cacti sur Debian Jessie

Configurer Cacti sur Debian Jessie

Introduction Cacti est un outil de surveillance et de création de graphiques open source entièrement basé sur les données RRD. Grâce à Cacti, vous pouvez surveiller presque nimporte quel type de périphérique

Configurer Teamspeak 3 sur Debian Wheezy

Configurer Teamspeak 3 sur Debian Wheezy

Cet article vous montrera comment exécuter un serveur Teamspeak 3 sous Debian Wheezy. Avant de commencer, vous devez préparer votre VPS. je

Comment installer Java 8 et DCEVM sur Debian 8 (Jessie)

Comment installer Java 8 et DCEVM sur Debian 8 (Jessie)

Java est un langage de programmation / machine virtuelle indépendant de la plate-forme. Dans ce tutoriel, nous allons installer limplémentation OpenJDK de Java 8 sur une Debian

Utiliser les vues MySQL sur Debian 7

Utiliser les vues MySQL sur Debian 7

Introduction MySQL a une grande fonctionnalité connue sous le nom de vues. Les vues sont des requêtes stockées. Considérez-les comme un alias pour une requête autrement longue. Dans ce guide,

Comment installer ModSecurity pour Nginx sur CentOS 7, Debian 8 et Ubuntu 16.04

Comment installer ModSecurity pour Nginx sur CentOS 7, Debian 8 et Ubuntu 16.04

ModSecurity est un module de pare-feu dapplications Web open source (WAF) qui est idéal pour protéger Apache, Nginx et IIS contre diverses cyberattaques qui ciblent

Comment installer Matomo Analytics sur Debian 9

Comment installer Matomo Analytics sur Debian 9

Vous utilisez un système différent? Matomo (anciennement Piwik) est une plate-forme danalyse open source, une alternative ouverte à Google Analytics. La source Matomo est hébergée o

Installer Hiawatha Web Server avec PHP-FPM et MySQL sur Debian

Installer Hiawatha Web Server avec PHP-FPM et MySQL sur Debian

Hiawatha est un serveur Web qui a à lesprit la simplicité, la facilité dutilisation et la sécurité. Cest la solution parfaite pour les petits serveurs, le matériel plus ancien ou lembedde

Surveiller létat du serveur Debian avec Munin

Surveiller létat du serveur Debian avec Munin

Munin est un outil de surveillance pour étudier les processus et les ressources de votre machine et présente les informations sous forme de graphiques via une interface Web. Utilisez le suivi

Comment installer le forum NodeBB sur Debian 9

Comment installer le forum NodeBB sur Debian 9

Vous utilisez un système différent? NodeBB est un forum basé sur Node.js. Il utilise des sockets Web pour des interactions instantanées et des notifications en temps réel. Code source NodeBB i

Installer Plesk sur Debian 8 (Jessie)

Installer Plesk sur Debian 8 (Jessie)

Vous utilisez un système différent? Plesk est un panneau de contrôle dhôte Web propriétaire qui permet aux utilisateurs dadministrer leurs sites Web personnels et / ou clients, bases de données

Comment installer Koel sur Debian 9

Comment installer Koel sur Debian 9

Vous utilisez un système différent? Koel est une simple application de streaming audio personnel basée sur le Web écrite en Vue côté client et Laravel côté serveur. Koe

Session collante avec Docker Swarm (CE) sur Debian 9

Session collante avec Docker Swarm (CE) sur Debian 9

Vous utilisez un système différent? Introduction Docker Swarm transforme vos serveurs individuels en un cluster dordinateurs; faciliter la mise à léchelle, la haute disponibilité et

Comment installer Paste 2.1 sur un VPS Debian 9 LAMP

Comment installer Paste 2.1 sur un VPS Debian 9 LAMP

Vous utilisez un système différent? Paste 2.1 est une application pastebin simple et flexible, gratuite et open source pour stocker du code, du texte et plus encore. Cétait initial

Forcer Apt-Get à IPv4 ou IPv6 sur Ubuntu ou Debian

Forcer Apt-Get à IPv4 ou IPv6 sur Ubuntu ou Debian

Ici, sur Vultr, nous avons la possibilité dactiver IPv6 sur tous les VPS déployables. Mais avec cela, certains programmes et commandes peuvent préférer lun ou lautre avec

Comment configurer Snort sur Debian

Comment configurer Snort sur Debian

Snort est un système gratuit de détection dintrusion réseau (IDS). En termes moins officiels, il vous permet de surveiller votre réseau pour détecter toute activité suspecte en temps réel

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.