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 est adapté au trafic élevé et alimente de nombreux sites Web. Cet article vous montrera comment installer et configurer HAProxy sur Ubuntu 14.04.
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.
Installer HAProxy
Comme Ubuntu 14.04 n'est pas livré avec HAProxy 1.5 (dernière version stable au moment de la rédaction), nous devrons utiliser un PPA pour pouvoir l'installer en utilisant apt-get
:
add-apt-repository ppa:vbernat/haproxy-1.5
Ensuite, mettez à jour le système:
apt-get update
apt-get dist-upgrade
Installez maintenant HAProxy avec la commande suivante:
apt-get install haproxy
Si tout réussit, vous avez terminé d'installer HAProxy et pouvez passer à l'étape suivante.
Configuration de HAProxy
Le fichier de configuration du proxy HA est divisé en deux sections: «globale» et «proxys». L'un traite de la configuration à l'échelle du processus, tandis que l'autre se compose des sections de configuration par défaut, frontend et backend.
Section mondiale
Avec votre éditeur de texte préféré, ouvrez /etc/haproxy/haproxy.cfg
et vous remarquerez 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, ajoutez ou modifiez maxconn
à 3072.
Dans la section par défaut, ajoutez les lignes suivantes sous mode http
:
option forwardfor
option http-server-close
Cela ajoutera des en- X-Forwarded-For
têtes à chaque demande, réduira la latence entre HAProxy et préservera les connexions persistantes du client.
Section des procurations
Frontend et Backend
Généralement, la première chose à faire est de configurer un frontend pour gérer les connexions HTTP. Ajoutez ce qui suit:
frontend http-frontend
bind public_ip:80
reqadd X-Forwarded-Proto:\ http
default_backend wwwbackend
Remarque: assurez-vous de remplacer public_ip
par votre domaine ou votre adresse IP publique. Sinon, cette configuration entière ne fonctionnera pas.
Une fois la configuration du frontend terminée, vous pouvez maintenant ajouter votre backend en ajoutant les lignes suivantes à la fin de votre configuration:
backend wwwbackend
server 1-www private_ip_1:80 check
server 2-www private_ip_2:80 check
server 3-www private_ip_3:80 check
La configuration backend utilisée ici crée une connexion nommée X-www
à private_ip_X:80
(Remplacer X par 1 - 3. et remplacer private_ip_X
par votre adresse IP privée ou publique). Cela vous permettra d'équilibrer la charge entre chaque ensemble de serveurs (en supposant que vous avez plus d'un serveur). L' check
option permet à l'équilibreur de charge d'effectuer des contrôles d'intégrité sur le serveur.
Lorsque vous avez terminé, enregistrez le fichier de configuration, puis redémarrez HAProxy en exécutant:
service haproxy restart
Si tout fonctionne, alors vous pourrez vous connecter à http://public_ip/
(en le remplaçant par votre IP Vultr VPS) et consulter votre site Web.