HAProxy est un logiciel open source spécialisé dans la répartition de charge et l’équilibrage réseau.
Il est largement utilisé comme reverse proxy pour améliorer la résilience et la disponibilité des applications web.
Dans cet article, nous allons voir comment installer et configurer HAProxy pour mettre en place un reverse proxy.
Plan de l’article
- Installation de HAProxy
- Configuration de base du reverse proxy
- Mise en place du load balancing
- Sécurisation avec HTTPS
- Tests et validation
- Conclusion
Installation de HAProxy
Sous Debian/Ubuntu :
sudo apt update
sudo apt install haproxy
Sous CentOS/RHEL :
sudo yum install haproxy
Vérifier la version :
haproxy -v
Configuration de base du reverse proxy
Éditer le fichier /etc/haproxy/haproxy.cfg
:
global
log /dev/log local0
maxconn 2048
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
frontend http_in
bind *:80
default_backend webservers
backend webservers
balance roundrobin
server web1 192.168.1.10:80 check
server web2 192.168.1.11:80 check
Redémarrer HAProxy :
sudo systemctl restart haproxy
Mise en place du load balancing
HAProxy prend en charge plusieurs algorithmes :
roundrobin
(par défaut)leastconn
(moins de connexions actives)source
(sticky sessions par IP)
Exemple avec leastconn
:
backend webservers
balance leastconn
server web1 192.168.1.10:80 check
server web2 192.168.1.11:80 check
Sécurisation avec HTTPS
Ajouter un certificat TLS :
frontend https_in
bind *:443 ssl crt /etc/ssl/private/haproxy.pem
default_backend webservers
Tests et validation
Tester avec curl
:
curl -I http://monserveur
Vérifier que la charge est répartie entre plusieurs serveurs.
Conclusion
Avec HAProxy, vous pouvez mettre en place un reverse proxy performant et assurer la haute disponibilité de vos services web.
Un incontournable pour la répartition de charge dans les environnements de production.