Outils pour utilisateurs

Outils du site


haproxy

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
haproxy [2023/03/02 20:21] – [Options avancées] adminhaproxy [2024/03/27 08:14] (Version actuelle) usr2224
Ligne 8: Ligne 8:
 Pour installer HA Proxy : Pour installer HA Proxy :
 <code lscript>apt update <code lscript>apt update
-apt upgrade 
 apt install haproxy</code> apt install haproxy</code>
  
 Pour vérifier la version installée : Pour vérifier la version installée :
-haproxy -v+<code lscript>haproxy -v</code> 
 + 
 +<WRAP center round important 80%> 
 +Juste après l'installation, 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>
  
-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 <modeRepartition>   balance <modeRepartition>
   server <nomServ1> <ip_serv1>:<port_serv1>   server <nomServ1> <ip_serv1>:<port_serv1>
-  server <nomServ2> <ip_serv2>:<port_serv1>+  server <nomServ2> <ip_serv2>:<port_serv2>
 </code> </code>
  
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:
 </code> </code>
  
-==== Options avancées ====+==== Vérification de la configuration ==== 
 +<code lscript>haproxy -c -f /etc/haproxy/haproxy.cfg</code> 
 +  * -c pour vérifier (check) le fichier 
 +  * -f pour spécifier le fichier de configuration 
 + 
 +===== Options avancées =====
 Le fonctionnement de base, sur l'algorithme roundrobin (ou tourniquet : chacun son tour) peut être optimisé de plusieurs manières **cumulables**.  Le fonctionnement de base, sur l'algorithme roundrobin (ou tourniquet : chacun son tour) peut être optimisé de plusieurs manières **cumulables**. 
   - en assurant un **//poids//** différent selon les capacités et la puissance des serveurs avec l'option //**weight**//   - en assurant un **//poids//** différent selon les capacités et la puissance des serveurs avec l'option //**weight**//
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:80 weight 100  server web1 10.22.100.212:80 weight 100 
 server web2 10.22.100.212:80 weight 50  server web2 10.22.100.212:80 weight 50 
-<code>+</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:80 check  +<code lscript>server web1 10.22.100.212:80 check  
-server web2 10.22.100.212:80 check+server web2 10.22.100.212:80 check </code> 
 +Chaque serveur sera vérifié avant de lui adresser une requête.
  
-=== Modes de répartition ===+ 
 +==== Limitation du nombre d'utilisateurs instantanée ==== 
 +<code lscript>server web1 10.22.100.212:80 maxconn 20 
 +server web2 10.22.100.212:80 maxconn 20 </code> 
 +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 <nomF_E> 
 +  mode tcp 
 +  bind <IP_publiqueHaProxy>:443 
 +  default_backend <nomB_E> 
 + 
 +backend <nomB_E>  
 +  balance <modeRepartition> 
 +  mode tcp 
 +  server <nomServ1> <ip_serv1>:443 
 +  server <nomServ2> <ip_serv2>:443 
 +</code> 
 + 
 +=== Exemple === 
 +<code apache> 
 +frontend proxypublic 
 +  mode tcp 
 +  bind 10.22.30.210:443 
 +  default_backend fermeweb 
 + 
 +backend fermeweb  
 +  mode tcp 
 +  balance roundrobin 
 +  server web1 192.168.100.212:443 
 +  server web2 192.168.100.215:443 
 +</code> 
  
  
haproxy.1677788507.txt.gz · Dernière modification : 2023/03/02 20:21 de admin