Ceci est une ancienne révision du document !
Table des matières
HA Proxy
Principes
Pour assurer la continuité de service d'un serveur Web, il faut disposer d'au moins deux serveurs. Ceux-ci peuvent fonctionner en mode actif/passif avec l'outil Heartbeat où un seul serveur est actif à un instant donné, et l'autre prend le relais en cas de panne du premier.
Pour assurer une performance supplémentaire, on peut aussi choisir un fonctionnement en mode actif/actif avec l'outil HA Proxy. Dans cette configuration, les deux (ou plus) serveurs fonctionnent en simultané : on doit donc mettre en place un répartiteur de charge qui va renvoyer les demandes vers les différents serveurs selon différents critères : chacun son tour (round robin, en fonction de la puissance des machines, etc.
Mise en place
Pour installer HA Proxy :
apt update apt upgrade apt install haproxy
Pour vérifier la version installée : haproxy -v
Le démon ne démarre pas car le fichier de configuration par défaut ne contient pas toutes les directives nécessaires. Il est nécessaire de procéder à une configuration minimale.
Configuration
HA Proxy fonctionne sur deux parties :
- la partie au contact des utilisateurs : Front end
- la partie au contact des serveurs Web : Back end
La configuration complète du fichier est décrite ici https://cbonte.github.io/haproxy-dconv/2.6/configuration.html.
Le fichier de configuration est /etc/haproxy/haproxy.cfg . Dans ses options de base, on trouvera :
frontend <nomF_E>
bind <IP_publiqueHaProxy>:<port>
default_backend <nomB_E>
backend <nomB_E>
balance <modeRepartition>
option httpclose
option httpchk HEAD / HTTP/1.0
server <nomServ1> <ip_serv1>:<port_serv1>
server <nomServ2> <ip_serv2>:<port_serv1>
Exemple
frontend proxypublic bind 10.22.30.210:80 default_backend fermeweb backend fermeweb balance roundrobin option httpclose option httpchk HEAD / HTTP/1.0 server web1 192.168.100.212:80 server web2 192.168.100.215:80