====== 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