====== 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) ====== Simple package à installer sur le serveur. sudo apt install haproxy ===== Configuration de base ====== La configuration de HAProxy se fait via le fichier de configuration **haproxy.cfg** situé à **/etc/haproxy/haproxy.cfg ** vim /etc/haproxy/haproxy.cfg ==== Le frontend ==== On rajoute un front end en mode http 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 (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 backend load1 server serveur_apache 172.16.0.101:80 backend load2 server serveur_nginx 172.16.0.102:80 ==== Test de la configuration ==== Tester la configuration avant de relancer haproxy pour eviter les erreurs. haproxy -c -f /etc/haproxy/haproxy.cfg Si tout est bon, relancer le service. sudo systemctl restart haproxy