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:21] – [Options avancées] 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</ |
+ | |||
+ | <WRAP center round important 80%> | ||
+ | Juste après l' | ||
+ | </ | ||
- | 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. | ||
===== Configuration de base ===== | ===== Configuration de base ===== | ||
Ligne 32: | Ligne 34: | ||
balance < | balance < | ||
server < | server < | ||
- | server < | + | server < |
</ | </ | ||
Ligne 40: | Ligne 42: | ||
* server : décrit chaque serveur Web | * server : décrit chaque serveur Web | ||
- | __**Exemple**__ | + | === Exemple |
<code apache> | <code apache> | ||
frontend proxypublic | frontend proxypublic | ||
Ligne 52: | Ligne 54: | ||
</ | </ | ||
- | ==== Options avancées ==== | + | ==== 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' | Le fonctionnement de base, sur l' | ||
- en assurant un **// | - en assurant un **// | ||
Ligne 58: | Ligne 65: | ||
- en utilisant un mode de répartition moins classique que le roundrobin | - en utilisant un mode de répartition moins classique que le roundrobin | ||
- | === Affectation d'un poids === | + | ==== Affectation d'un poids ==== |
<code lscript> | <code lscript> | ||
server web1 10.22.100.212: | server web1 10.22.100.212: | ||
server web2 10.22.100.212: | server web2 10.22.100.212: | ||
- | < | + | </code> |
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é |
- | server web1 10.22.100.212: | + | <code lscript>server web1 10.22.100.212: |
- | server web2 10.22.100.212: | + | server web2 10.22.100.212: |
+ | Chaque serveur sera vérifié avant de lui adresser une requête. | ||
- | === Modes de répartition === | + | |
+ | ==== 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 : | les modes possibles : | ||
* roundrobin : tourniquet passant circulairement vers chacune des serveurs | * roundrobin : tourniquet passant circulairement vers chacune des serveurs | ||
Ligne 76: | Ligne 90: | ||
* uri : le choix du serveur est fonction du début de l’URI demandée ; | * 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 ; | * 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- | + | * hdr : le choix du serveur est fonction d’un champ présent dans l’en-tête HTTP (Host, User-Agent, ...). |
- | 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.1677788507.txt.gz · Dernière modification : 2023/03/02 20:21 de admin