HAProxy est un logiciel de répartition de charge et de proxy inverse open source, largement utilisé pour distribuer le trafic réseau entre plusieurs serveurs afin d’optimiser la disponibilité et la performance des applications. En redirigeant les requêtes des utilisateurs vers différents serveurs backend, HAProxy permet d’assurer une haute disponibilité et une tolérance aux pannes, tout en équilibrant la charge de manière efficace. Il est particulièrement apprécié pour sa fiabilité, sa flexibilité, et sa capacité à gérer un grand volume de trafic avec des fonctionnalités avancées comme la gestion des sessions et le SSL offloading.

Objectif
Optimiser les performances du site web de TechUniverse en répartissant la charge entre deux serveurs Web grâce à HAProxy.
1. Préparation réseau des serveurs Web
a. Vérification de la configuration réseau (DHCP)
Dans le terminal, vérifie que l’interface réseau utilise DHCP :
ip a
b. Redémarrer l’interface réseau
sudo systemctl restart networking
c. Vérification de la connectivité Internet
ping 8.8.8.8
2. Installation d’Apache2 sur les serveurs Web
Sur chaque serveur Web :
sudo apt update
sudo apt install apache2 -y
d. Vérification du service Apache2
sudo systemctl status apache2
e. Test d’accès via navigateur
Saisir l’adresse IP du serveur Web dans un navigateur. La page par défaut d’Apache2 doit s’afficher.
3. Sauvegarde de la configuration Apache2
Avant modification :
sudo cp -r /etc/apache2 /etc/apache2.backup
4. Connexion SSH aux serveurs Web
Depuis la machine hôte, se connecter aux serveurs Web :
ssh user@adresse_IP_du_serveur
5. Installation et configuration d’HAProxy (sur un serveur dédié)
a. Installer HAProxy
sudo apt install haproxy -y
b. Modifier la configuration HAProxy
Éditer le fichier :
sudo nano /etc/haproxy/haproxy.cfg
Ajouter une configuration simple comme :
frontend http_front
bind *:80
default_backend http_back
backend http_back
balance roundrobin
server web1 192.168.1.10:80 check
server web2 192.168.1.11:80 check
Remplace
192.168.1.10
et192.168.1.11
par les adresses IP de tes deux serveurs Web.
c. Redémarrer HAProxy
sudo systemctl restart haproxy
d. Vérification
Depuis un navigateur ou via curl :
curl http://adresse_IP_du_HAProxy