haproxy
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
haproxy [2025/02/06 21:02] – [Principes] administrateur | haproxy [2025/02/12 11:48] (Version actuelle) – [Sécurisation SSL] administrateur | ||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
* Plusieurs serveurs possèdent un service et des données identiques (par exemple une application Web) pour constituer un **cluster** | * Plusieurs serveurs possèdent un service et des données identiques (par exemple une application Web) pour constituer un **cluster** | ||
* un **répartiteur** (**HA Proxy**) est connu des utilisateurs (par son IP). Il redirige les demandes vers l'un des serveurs du **cluster**, | * un **répartiteur** (**HA Proxy**) est connu des utilisateurs (par son IP). Il redirige les demandes vers l'un des serveurs du **cluster**, | ||
- | * le répartiteur | + | * le ** répartiteur**<wrap em> distribue |
- | * le **répartiteur** peut détecter la panne d'un des serveurs pour éviter de lui envoyer des demandes qui n' | + | * le **répartiteur** peut <wrap em>détecter la panne</ |
===== Mise en place ===== | ===== Mise en place ===== | ||
Ligne 32: | Ligne 32: | ||
La configuration complète du fichier est décrite ici [[https:// | La configuration complète du fichier est décrite ici [[https:// | ||
- | Le fichier de configuration est **// / | + | Le fichier de configuration est **// / |
<code apache> | <code apache> | ||
frontend < | frontend < | ||
Ligne 44: | Ligne 44: | ||
</ | </ | ||
- | * bind : définit la façon dont le serveur est joignable par les utilisateurs | + | * <wrap em>bind</ |
- | * defautlt_backend : renvoi vers la section suivante | + | * <wrap em>defautlt_backend</ |
- | * balance : mode de répartition entre les serveurs Web | + | * <wrap em>balance</ |
- | * server : décrit chaque serveur Web | + | * <wrap em>server</ |
+ | <WRAP center round info 100%> | ||
=== Exemple === | === Exemple === | ||
<code apache> | <code apache> | ||
Ligne 60: | Ligne 61: | ||
server web2 192.168.100.215: | server web2 192.168.100.215: | ||
</ | </ | ||
+ | </ | ||
+ | |||
==== Vérification de la configuration ==== | ==== Vérification de la configuration ==== | ||
Ligne 68: | Ligne 71: | ||
===== Options avancées ===== | ===== Options avancées ===== | ||
Le fonctionnement de base, sur l' | Le fonctionnement de base, sur l' | ||
- | - en assurant un **// | + | - en assurant un **// |
- | - en vérifiant la disponibilité d'un serveur Web avant de lui adresser des demandes avec l' | + | - en vérifiant la disponibilité d'un serveur Web avant de lui adresser des demandes avec l' |
- | - en utilisant un mode de répartition moins classique que le roundrobin | + | - en utilisant un mode de répartition moins classique que le <wrap em>roundrobin</ |
==== Affectation d'un poids ==== | ==== Affectation d'un poids ==== | ||
+ | <WRAP center round info 100%> | ||
<code lscript> | <code lscript> | ||
server web1 10.22.100.212: | server web1 10.22.100.212: | ||
Ligne 78: | Ligne 82: | ||
</ | </ | ||
Le premier serveur recevra 2 fois plus de requêtes que le second | Le premier serveur recevra 2 fois plus de requêtes que le second | ||
+ | </ | ||
+ | |||
==== Vérification de la disponibilité ==== | ==== Vérification de la disponibilité ==== | ||
+ | <WRAP center round info 100%> | ||
<code lscript> | <code lscript> | ||
server web2 10.22.100.212: | server web2 10.22.100.212: | ||
Chaque serveur sera vérifié avant de lui adresser une requête. | Chaque serveur sera vérifié avant de lui adresser une requête. | ||
+ | </ | ||
+ | |||
==== Limitation du nombre d' | ==== Limitation du nombre d' | ||
+ | <WRAP center round info 100%> | ||
<code lscript> | <code lscript> | ||
server web2 10.22.100.212: | server web2 10.22.100.212: | ||
Chaque serveur sera limité à 20 utilisateurs simultanément | Chaque serveur sera limité à 20 utilisateurs simultanément | ||
+ | </ | ||
+ | |||
==== Modes de répartition ==== | ==== Modes de répartition ==== | ||
les modes possibles : | les modes possibles : | ||
- | * roundrobin : tourniquet passant circulairement vers chacune des serveurs | + | * <wrap em>roundrobin</ |
- | * leastconn: le serveur sélectionné sera celui ayant précédemment reçu le moins de connexions ; | + | * <wrap em>leastconn</ |
- | * source : le serveur est sélectionné en fonction de l’IP source du client ; | + | * <wrap em>source</ |
- | * uri : le choix du serveur est fonction du début de l’URI demandée ; | + | * <wrap em>uri</ |
- | * url_param : le choix du serveur est fonction de paramètres présents dans l’URL demandée ; | + | * <wrap em>url_param</ |
- | * hdr : le choix du serveur est fonction d’un champ présent dans l’en-tête HTTP (Host, User-Agent, ...). | + | * <wrap em>hdr</ |
===== Sécurisation SSL ===== | ===== Sécurisation SSL ===== | ||
Ligne 115: | Ligne 127: | ||
</ | </ | ||
+ | <WRAP center round info 100%> | ||
=== Exemple === | === Exemple === | ||
<code apache> | <code apache> | ||
Ligne 128: | Ligne 141: | ||
server web2 192.168.100.215: | server web2 192.168.100.215: | ||
</ | </ | ||
+ | </ | ||
+ | |||
haproxy.1738875735.txt.gz · Dernière modification : de administrateur