Tutoriel Reverse Proxy avec HAProxy sous Debian 8

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/haproxy
ENABLED=1
Maintenant, configurons HAPROXY, c’est simple et il n’y à qu’un seul fichier de conf:
nano /etc/haproxy/haproxy.cfg
Copiez ceci dedans, bien sur modifiez l’IP avec celle de votre serveur, celles des serveurs WEB aussi, et le stats auth correspond à ce que vous utiliserez pour vous connectez sur http://IP/stats
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

Screenshot_2

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.

 

Un commentaire sur “Tutoriel Reverse Proxy avec HAProxy sous Debian 8

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s