User Tools

Site Tools


wiki:proxy:haproxy:fonctionnement_frontend_backend

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
wiki:proxy:haproxy:fonctionnement_frontend_backend [2025/02/22 11:59] – [URL Forwarding] hmattalianowiki:proxy:haproxy:fonctionnement_frontend_backend [2025/02/22 13:16] (current) hmattaliano
Line 1: Line 1:
 ====== Principe de fonctionnement HAProxy ====== ====== Principe de fonctionnement HAProxy ======
 +
 +**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:
 +
 +  * **Section global**
 +Cette section contient les **paramètres globaux** affectant le processus principal d'HAProxy, comme la **journalisation** et les **droits d'accès**.
 +
 +  * **Section defaults**
 +Définissez ici les **valeurs par défaut** pour les autres sections, évitant ainsi la répétition de paramètres communs
 +
 +  * Section **frontend**
 +  * Section **backend**
 +
 +----
  
 ===== Le Frontend et le Backend ===== ===== Le Frontend et le Backend =====
  
 +{{ :wiki:proxy:haproxy:haproxy_principe_de_fonctionnement0.png?600 |}}
 +==== Frontend ====
  
 +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 :
 +
 +  * Les adresses **IP** et ports sur lesquels HAProxy **écoute**
 +  * Le mode de fonctionnement (**HTTP ou TCP**)
 +  * Les règles de **routage** des requêtes
 +
 +Par exemple, un frontend typique pourrait ressembler à ceci :
 +
 +<code>
 +frontend front_webservers
 +    bind *:443
 +    default_backend backend_webservers
 +    option forwardfor
 +</code>
 +
 +Dans cet exemple le frontend écoute sur le port 443 et dirige le trafic vers un backend nommé **"backend_webservers"**
  
 ---- ----
  
-===== URL Forwarding =====+==== Backend ==== 
 + 
 +Un **backend** dans **HAProxy** définit un groupe de serveurs qui traitent les **requêtes reçues** par le frontend. Il comprend : 
 + 
 +  * La liste des serveurs et leurs **adresses** 
 +  * L'algorithme d'**équilibrage de charge** à utiliser 
 +  * Les **options** de configuration spécifiques aux serveurs 
 + 
 +Voici un exemple de configuration de backend : 
 + 
 +<code> 
 +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 
 +</code> 
 + 
 +Ce backend utilise l'algorithme **roundrobin** pour distribuer les requêtes entre deux serveurs web. 
 + 
 +---- 
 + 
 +===== Exemples simples d'utilisation ===== 
 + 
 + 
 +==== URL Forwarding ====
  
  
Line 14: Line 73:
 ---- ----
  
-===== Load balncing WEB =====+==== Load balncing WEB ====
  
 +{{ :wiki:proxy:haproxy:haproxy_principe_de_fonctionnement2.png?600 |}}
  
  
Line 21: Line 81:
  
  
-===== Load balancing TLS =====+==== Load balancing TLS ====
  
 +{{ :wiki:proxy:haproxy:haproxy_principe_de_fonctionnement1.png?600 |}}
wiki/proxy/haproxy/fonctionnement_frontend_backend.1740221955.txt.gz · Last modified: 2025/02/22 11:59 by hmattaliano