HAproxy est un répartiteur de charge, c’est à dire qu’il va distribuer des flux vers plusieurs ordinateurs ou serveurs, il est particulièrement utile devant des sites Web, car en cas d’attaque, il encaissera la charge et les serveurs Web resteront intacts.
Vous allez avoir besoin de 3 machines, 1 HAProxy et 2 serveurs Web afin de tester notre reverse proxy.
Si vous avez déjà vos serveurs Web, vous pouvez passez cet étape, mais si vous n’avez rien, nous allons rapidement configurer 2 serveurs apache, je ne vais pas tout vous montrer, j’avais déjà fait un tutoriel pour cela ici.
Vous devez avoir php5 et apache2 installés
Suivez le tutoriel, je vous conseille juste de modifier le page d’accueil sur vos 2 sites afin de pouvoir les différencier, et de pouvoir voir si la réparition de charge est efficace ( en effet, si vous avez les mêmes pages d’accueil… Vous ne verrez pas de différence…)
Bref une fois que vos sites WEB sont opérationnels, passons à l’installation de HAPROXY
apt-get update && apt-get upgrade
apt-get install haproxy
Ensuite, on active HAPROXY
nano /etc/default/haproxyENABLED=1
nano /etc/haproxy/haproxy.cfg
listen cluster_web 192.168.1.105:80#Web
mode http#Mode de balancement Round Robin
balance roundrobin#Options
option httpclose
option forwardfor#Les serveurs Web
server web1 192.168.1.106:80 check
server web2 192.168.1.107:80 check#Stats
stats enable
stats hide-version
stats refresh 30s
stats show-node
stats auth admin:admin
stats uri /stats
Démarrez le service
/etc/init.d/haproxy start
Maintenant, allons voir les statistiques avec http://IP_HAPROXY/stats
Pour vous connectez utilisez les identifiants que vous avez mis dans stats auth, moi c’est admin admin, normalement, vous aurez vos deux serveurs en vert comme ci-dessous
Ensuite, bien sur, testez la connexion sur l’IP de votre reverse proxy, car oui maintenant, vous passerez par lui pour accèder à vos sites. Actualisez et normalement 50% du temps vous devriez avoir la page de web1 et 50% la page d’accueil de web2.
Bien sur, nous pouvons changer les poids, dans le fichier de conf d’haproxy comme ceci
nano /etc/haproxy/haproxy.cfg
Sur les lignes ou vous avez défini vos serveurs Web:
server web1 192.168.1.106:80 weight 50 check
server web2 192.168.1.107:80 weight 100 check
Ici, on prend le ratio, en mettant 50 et 100, 100/50 = 2 donc un serveur sera 2 plus utilisé que l’autre après avoir modifier, redémarrez bien le service haproxy
service haproxy restart
Ensuite, vous pouvez retester d’actualiser votre page, vous devriez avoir quelque chose qui correspond au ratio que vous avez mis.
Si vous désactivez apache sur l’un de vos serveur, il deviendra rouge sur la page stat, et ainsi, toutes les requêtes seront redirigées vers l’autre serveur.
Pour tester, désactivez apache sur un de vos serveur Web
service apache2 stop
Puis, faites vos tests, ensuite, n’oubliez pas de redémarrer apache
service apache2 start
Félicititations, vous avez configuré un reverse proxy pour vos serveurs WEB.
Si vous avez des question, n’hésitez pas à laisser un commentaire.
On parle plutôt de Load Balancing. Répartition de charge c’est très années 2000
J’aimeJ’aime