HAProxy : Reverse Proxy & Load Balancing
HAProxy
WAN 192.168.43.240 / LAN 10.1.43.1
Backends
Web1 (10.1.43.2) + Web2 (10.1.43.3)
HAProxyApache2Round Robin
Health CheckNATiptablesDNAT
Objectif
Mettre en place un reverse proxy avec HAProxy pour répartir la charge entre deux serveurs web Apache2, assurer la haute disponibilité avec bascule automatique (failover) et superviser l'état des backends via la page /stats.
"Cluster web derrière HAProxy avec équilibrage Round Robin 50/50, supervision /stats et simulation de panne d'un backend."
Architecture
Client (192.168.43.X)
→
HAProxy (192.168.43.240:80)
→
Web1 (10.1.43.2) | Web2 (10.1.43.3)
Configuration HAProxy (extrait)
listen cluster_web
bind 192.168.43.240:80
balance roundrobin
option httpclose
server web1 10.1.43.2:80 check
server web2 10.1.43.3:80 check
stats enable
stats auth admin:admin
stats uri /stats
bind 192.168.43.240:80
balance roundrobin
option httpclose
server web1 10.1.43.2:80 check
server web2 10.1.43.3:80 check
stats enable
stats auth admin:admin
stats uri /stats
Tests réalisés
Scénarios validés
- Alternance Web1/Web2 vérifiée par rafraîchissement HTTP
- Page /stats : état UP/DOWN des backends en temps réel
- Test de panne : arrêt Apache2 sur Web1 → bascule automatique vers Web2
Résultats
- Répartition de charge opérationnelle entre 2 serveurs
- Haute disponibilité basique (failover) en cas de panne d'un backend
- Supervision simple via /stats avec authentification