User Tools

Site Tools


wiki:proxy:haproxy:installation_config

Differences

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

Link to this comparison view

Next revision
Previous revision
wiki:proxy:haproxy:installation_config [2025/02/22 11:04] – created hmattalianowiki:proxy:haproxy:installation_config [2025/03/08 16:20] (current) hmattaliano
Line 1: Line 1:
-====== Installation et configuration de base de HAProxy ======+====== Installation et configuration de base de HAProxy pour un reverse proxy simple ====== 
 + 
 +Le but est de rediriger les requetes http par dns. 
 + 
 +{{ :wiki:proxy:haproxy:haproxy_principe_de_fonctionnement3.png?400 |}}
  
 ===== Installation (Debian12) ====== ===== Installation (Debian12) ======
  
 +Simple package à installer sur le serveur.
 +
 +<code>
 +sudo apt install haproxy
 +</code>
 ===== Configuration de base ====== ===== Configuration de base ======
  
 +La configuration de HAProxy se fait via le fichier de configuration **haproxy.cfg** situé à **/etc/haproxy/haproxy.cfg
 +**
 +<code>
 +vim /etc/haproxy/haproxy.cfg
 +</code>
 +
 +==== Le frontend ====
 +
 +On rajoute un front end en mode http
 +<code>
 +frontend http-in
 +    bind *:80
 +    mode http
 +    
 +    acl myapp_front1 hdr_dom(host) -i sous-domaine1.mon-domaine.fr
 +    use_backend load1 if myapp_front1
 +
 +    acl myapp_front2 hdr_dom(host) -i sous-domaine2.mon-domaine.fr
 +    use_backend load2 if myapp_front2
 +</code>
 +
 +(ici tout les entrées sur le port 80)
 +On utilise se qu'on appel une ACL pour faire une sorte de règle de redirection.
 +
 +  - **myapp_frontX** est un nom d'ACL
 +  - **hdr_dom(host)** récupère la requête du frontend
 +  - **-i sous-domaineX.mon-domaine.fr** est identique à ce DNS
 +  - **use_backend loadX if myapp_frontX** Utilise le backend désigné "loadX" si la règle "myapp_frontX" est vérifiée
 +==== Le backend ====
 +
 +Désignation des serveurs qui seront utilisés par les règles ACL
 +
 +<code>
 +backend load1
 +      server serveur_apache 172.16.0.101:80
 +backend load2
 +      server serveur_nginx 172.16.0.102:80
 +</code>
 +==== Test de la configuration ====
 +
 +Tester la configuration avant de relancer haproxy pour eviter les erreurs.
 +
 +<code>
 +haproxy -c -f /etc/haproxy/haproxy.cfg
 +</code>
 +
 +Si tout est bon, relancer le service.
 +
 +<code>
 +sudo systemctl restart haproxy
 +</code>
wiki/proxy/haproxy/installation_config.1740218677.txt.gz · Last modified: 2025/02/22 11:04 by hmattaliano