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 [2023/03/02 20:01] – [Configuration] admin | haproxy [2024/03/27 08:14] (Version actuelle) – usr2224 | ||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
Pour installer HA Proxy : | Pour installer HA Proxy : | ||
<code lscript> | <code lscript> | ||
- | apt upgrade | ||
apt install haproxy</ | apt install haproxy</ | ||
Pour vérifier la version installée : | Pour vérifier la version installée : | ||
- | haproxy -v | + | <code lscript>haproxy -v</ |
- | Le démon ne démarre pas car le fichier de configuration par défaut ne contient pas toutes les directives nécessaires. Il est nécessaire de procéder à une configuration minimale. | + | <WRAP center round important 80%> |
+ | Juste après l' | ||
+ | </ | ||
- | ===== Configuration ===== | + | |
+ | ===== Configuration | ||
HA Proxy fonctionne sur deux parties : | HA Proxy fonctionne sur deux parties : | ||
* la partie au contact des utilisateurs : **Front end** | * la partie au contact des utilisateurs : **Front end** | ||
Ligne 29: | Ligne 31: | ||
default_backend < | default_backend < | ||
- | backend | + | backend |
- | | + | |
- | option httpchk HEAD / HTTP/1.0 | + | |
server < | server < | ||
- | server < | + | server < |
</ | </ | ||
+ | |||
+ | * bind : définit la façon dont le serveur est joignable par les utilisateurs | ||
+ | * defautlt_backend : renvoi vers la section suivante | ||
+ | * balance : mode de répartition entre les serveurs Web | ||
+ | * server : décrit chaque serveur Web | ||
+ | |||
+ | === Exemple === | ||
+ | <code apache> | ||
+ | frontend proxypublic | ||
+ | bind 10.22.30.210: | ||
+ | default_backend fermeweb | ||
+ | |||
+ | backend fermeweb | ||
+ | balance roundrobin | ||
+ | server web1 192.168.100.212: | ||
+ | server web2 192.168.100.215: | ||
+ | </ | ||
+ | |||
+ | ==== Vérification de la configuration ==== | ||
+ | <code lscript> | ||
+ | * -c pour vérifier (check) le fichier | ||
+ | * -f pour spécifier le fichier de configuration | ||
+ | |||
+ | ===== Options avancées ===== | ||
+ | Le fonctionnement de base, sur l' | ||
+ | - en assurant un **// | ||
+ | - 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 | ||
+ | |||
+ | ==== Affectation d'un poids ==== | ||
+ | <code lscript> | ||
+ | server web1 10.22.100.212: | ||
+ | server web2 10.22.100.212: | ||
+ | </ | ||
+ | Le premier serveur recevra 2 fois plus de requêtes que le second | ||
+ | |||
+ | ==== Vérification de la disponibilité ==== | ||
+ | <code lscript> | ||
+ | server web2 10.22.100.212: | ||
+ | Chaque serveur sera vérifié avant de lui adresser une requête. | ||
+ | |||
+ | |||
+ | ==== Limitation du nombre d' | ||
+ | <code lscript> | ||
+ | server web2 10.22.100.212: | ||
+ | Chaque serveur sera limité à 20 utilisateurs simultanément | ||
+ | |||
+ | ==== Modes de répartition ==== | ||
+ | les modes possibles : | ||
+ | * roundrobin : tourniquet passant circulairement vers chacune des serveurs | ||
+ | * leastconn: le serveur sélectionné sera celui ayant précédemment reçu le moins de connexions ; | ||
+ | * source : le serveur est sélectionné en fonction de l’IP source du client ; | ||
+ | * uri : le choix du serveur est fonction du début de l’URI demandée ; | ||
+ | * url_param : le choix du serveur est fonction de paramètres présents dans l’URL demandée ; | ||
+ | * hdr : le choix du serveur est fonction d’un champ présent dans l’en-tête HTTP (Host, User-Agent, ...). | ||
+ | |||
+ | ===== Sécurisation SSL ===== | ||
+ | |||
+ | Le fichier de configuration est **// haproxy.cfg //**. Dans ses options on devra mettre les ports en 443 et ajouter mode tcp : | ||
+ | <code apache> | ||
+ | frontend < | ||
+ | mode tcp | ||
+ | bind < | ||
+ | default_backend < | ||
+ | |||
+ | backend < | ||
+ | balance < | ||
+ | mode tcp | ||
+ | server < | ||
+ | server < | ||
+ | </ | ||
+ | |||
+ | === Exemple === | ||
+ | <code apache> | ||
+ | frontend proxypublic | ||
+ | mode tcp | ||
+ | bind 10.22.30.210: | ||
+ | default_backend fermeweb | ||
+ | |||
+ | backend fermeweb | ||
+ | mode tcp | ||
+ | balance roundrobin | ||
+ | server web1 192.168.100.212: | ||
+ | server web2 192.168.100.215: | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
haproxy.1677787293.txt.gz · Dernière modification : 2023/03/02 20:01 de admin