HAProxy reçoit le trafic entrant via ses “frontends”, Une fois le trafic reçu, HAProxy le distribue vers des “backends”. En cas de panne d'un serveur, HAProxy redirige automatiquement le trafic vers les serveurs restants, assurant ainsi une continuité de service.
La configuration de HAProxy se fait via le fichier de configuration haproxy.cfg situé à /etc/haproxy/haproxy.cfg
Il est constitué de 4 sections:
Cette section contient les paramètres globaux affectant le processus principal d'HAProxy, comme la journalisation et les droits d'accès.
Définissez ici les valeurs par défaut pour les autres sections, évitant ainsi la répétition de paramètres communs
Un frontend dans HAProxy définit comment les connexions entrantes sont gérées. C'est le point d'entrée pour le trafic client et spécifie :
Par exemple, un frontend typique pourrait ressembler à ceci :
frontend front_webservers bind *:443 default_backend backend_webservers option forwardfor
Dans cet exemple le frontend écoute sur le port 443 et dirige le trafic vers un backend nommé “backend_webservers”
Un backend dans HAProxy définit un groupe de serveurs qui traitent les requêtes reçues par le frontend. Il comprend :
Voici un exemple de configuration de backend :
backend backend_webservers balance roundrobin server srv-web-1 192.168.1.10:443 check server srv-web-2 192.168.1.11:443 check
Ce backend utilise l'algorithme roundrobin pour distribuer les requêtes entre deux serveurs web.