Menu
InformatiWeb Pro
  • Index
  • Admin système
  • Virtualisation

Connexion

Inscription Mot de passe perdu ?
US
  • Windows Server
    • WMS 2012
    • WS2012 R2
    • WS2016
  • Citrix
    • Citrix NetScaler Gateway
    • Citrix XenApp / XenDesktop
    • Citrix XenServer
  • VMware
    • VMware ESXi
    • VMware vSphere
    • VMware Workstation
  • Microsoft
    • Hyper-V
  • RAID
    • Adaptec SmartRAID
    • Broadcom MegaRAID
  • UPS
    • APC Back-UPS Pro
  • Pare-feu
    • pfSense
  • InformatiWeb Pro
  • Admin système
  • Pare-feu
  • Répartir la charge sur des serveurs backend sous pfSense 2.6 via HAProxy
  • Pare-feu
  • pfSense
  • 27 août 2025 à 15:09
  • InformatiWeb
  • 1/2

Répartir la charge sur des serveurs backend sous pfSense 2.6 via HAProxy

Grâce à pfSense, vous pouvez gérer la répartition de charge sur des serveurs backend via HAProxy.
Notez que l'option "Load Balancer" n'est plus disponible depuis pfSense 2.5 et que pfSense vous recommande le plugin "HAProxy" qui permet de faire la même chose en mieux.

Dans ce tutoriel, vous verrez comment répartir la charge sur 2 serveurs web du réseau LAN qui seront accessibles depuis l'interface WAN de pfSense via une seule adresse.

  1. Installer les serveurs web en arrière-plan (backend)
  2. Installer le plugin HAProxy sous pfSense
  3. Ajouter un serveur en arrière-plan (backend) de HAProxy
  4. Ajouter un serveur frontal (Frontend)
  5. Configurer les paramètres de HAProxy
  6. Autoriser l'accès au serveur frontal de HAProxy
  7. Tester la répartition de charge via le serveur frontal
  8. Afficher les statistiques de HAProxy

1. Installer les serveurs web en arrière-plan (backend)

Pour commencer, installez 2 serveurs web sur le réseau LAN de pfSense.
Dans notre cas, nous avons simplement installé le rôle "Serveur Web (IIS)" sur 2 serveurs sous Windows Server 2016.

Une fois le serveur web IIS installé, ouvrez le gestionnaire des services Internet (IIS), sélectionnez le site web par défaut "Default Web Site" et cliquez sur "Explorer" (dans la colonne de droite).

Le dossier "C:\inetpub\wwwroot" du site web par défaut apparait.
Modifiez le fichier "iisstart.htm" (affiché par défaut lors de l'accès à un site web hébergé sous IIS) avec le bloc-notes.

Rajoutez "Server 1 - " au début du titre de la page (balise "<title>").

Sur votre 2ème serveur web, rajoutez "Server 2 - " au début du titre de la page (balise "<title>").

2. Installer le plugin HAProxy sous pfSense

Auparavant, avant la version 2.5 de pfSense, vous pouviez utiliser l'option "Load Balancer" qui était disponible nativement.
Néanmoins, depuis la version 2.5, vous devrez utiliser son équivalent "HAProxy".
Pour cela, vous devez installer le plugin "HAProxy" depuis le gestionnaire de paquets de pfSense.

Allez dans : System -> Package Manager.

Allez dans l'onglet "Available Packages", tapez "haproxy" dans le cas de recherche et cliquez sur : Search.
Ensuite, installez le paquet "haproxy".

Cliquez sur "Confirm" pour lancer l'installation du paquet "pfSense-pkg-haproxy".

Patientez pendant l'installation du paquet "pfSense-pkg-haproxy".

Le paquet "pfSense-pkg-haproxy" a été installé.

3. Ajouter un serveur en arrière-plan (backend) de HAProxy

Pour commencer, vous devez indiquer à HAProxy quels serveurs seront accessibles via la machine pfSense.
Pour cela, allez dans : Services -> HAProxy.

Ensuite, allez dans l'onglet "Backend".

Notez que vous ne pourrez pas utiliser le port 80 de pfSense sur son interface WAN par défaut, car, celui-ci est utilisé pour l'accès à cette interface web.
Pour libérer ce port 80, il vous suffira d'aller dans "System -> Advanced" et d'indiquer un autre numéro de port dans la case "TCP port".

Dans notre cas, nous ne modifierons pas le numéro de port de pfSense et nous configurerons HAProxy pour utiliser le port TCP 8080.

Dans l'onglet "Backend" de HAProxy, cliquez sur : Add.

Indiquez un nom pour ce pool de serveurs.
Par exemple : WebServers.

Ensuite, cliquez sur la flèche qui descend pour ajouter un serveur dans ce pool.

Ajoutez votre 1er serveur web en spécifiant :

  • Mode : active.
  • Name : son nom NETBIOS.
    Dans notre cas : web1.
  • Forwardto : Address+Port.
  • Address : l'adresse IP du 1er serveur web installé en arrière-plan.
    Dans notre cas : 10.0.0.3.
  • Port : port sur lequel écoute ce serveur en arrière-plan
    Etant donné qu'il s'agit d'un serveur web, le port HTTP par défaut est le port 80.

Ensuite, cliquez à nouveau sur la flèche qui descend pour ajouter un 2ème serveur à ce pool.

Ajoutez ce 2ème serveur web de la même façon :

  • Mode : active.
  • Name : web2.
  • Forwardto : Address+Port.
  • Address : 10.0.0.4.
  • Port : 80.

Dans la section "Loadbalancing options (when multiple servers are defined)", vous pourrez spécifier comment pfSense doit gérer l'équilibrage de charge :

  • None : permet de spécifier un équilibrage de charge personnalisé via la section "Advanced".
  • Round robin : à chaque fois qu'un utilisateur tente d'accéder au pool de serveurs, pfSense choisi un serveur en arrière-plan (backend) au hasard (en fonction de son poids / priorité).
    Dans ce cas-ci, le poids d'un serveur backend peut être changé à chaud et l'algorithme prendra automatiquement en compte cette modification.
  • Static Round Robin : similaire à l'option précédente, excepté que le changement à chaud du poids d'un serveur en arrière-plan (backend) n'aura aucun effet dans ce cas-ci.
  • Least Connections : pfSense choisira le serveur possédant le moins de connexions en ce moment.
  • Source : une fois que pfSense a choisi un serveur backend pour un client (identifié grâce à son adresse IP), pfSense continuera d'utiliser le même serveur pour ce client.
    Excepté si le serveur backend concerné tombe en panne. Auquel cas pfSense choisira un autre serveur disponible dans le pool.
    Ce qui est très pratique pour éviter la perte de session sur un site web (tel qu'un e-commerce ou un site avec un espace membre).
  • Uri (HTTP backends only) : pfSense utilisera toujours le même serveur web backend si l'URI (partie de l'URL entre le domaine (ex : domaine.com) et le caractère "?") est la même.
    Pour inclure la partie présente derrière le caractère "?" pouvant apparaitre dans l'URL, cochez la case "Allow using whole URI including url parameters behind a question mark".
    Excepté si le serveur backend choisi tombe en panne. Dans ce cas, un autre serveur du pool sera utilisé.
    Le but étant de maximiser l'utilisation d'un serveur de cache ou d'un proxy.

Si vous le souhaitez, vous pourrez contrôler les accès, ainsi que modifier les délais d'inactivité de nouvelles tentatives.

Pour s'assurer que les serveurs web utilisés en arrière-plan sont toujours fonctionnels, sélectionnez "Health check method : HTTP".
Notez que dans d'autres cas, vous pourriez vérifier le fonctionnement de serveurs : LDAP (pour Active Directory), MySQL ou PostgreSQL (pour les serveurs de bases de données), SMTP (pour les serveurs d'envoi d'e-mails), ...

Par défaut, pfSense utilisera le mot-clé HTTP "OPTIONS".
Néanmoins, si vous avez protégé l'accès à votre site web, il est possible que vous ayez bloqué ce mot-clé pour des raisons de sécurité.
Dans ce cas, sélectionnez "Http check method : GET" qui utilisera le mot-clé "GET" utilisé habituellement par n'importe quel navigateur web.

Par défaut, étant donné que la connexion passe par pfSense, les serveurs en arrière-plan croiront que le client est toujours pfSense.
Pour que les serveurs en arrière-plan voient l'adresse IP du client réel, vous devez cocher la case "Use Client-IP to connect to backend servers".
Néanmoins, l'activation de cette option pourra poser problème avec le portail captif de pfSense (si applicable), ainsi qu'avec d'autres fonctionnalités de pfSense.
Il est donc déconseillé de l'activer si vous n'en avec pas réellement besoin.

Cliquez sur Save.

Cliquez sur Apply Changes.

Votre pool de serveurs Backend apparait grisé. Ce qui signifie que ceux-ci ne sont pas encore accessibles via un serveur frontal (Frontend).

Page suivante

Partager ce tutoriel

Partager
Tweet

A voir également

  • pfSense 2.6 - Activer et configurer le serveur DHCP

    Pare-feu 30/5/2025

    pfSense 2.6 - Activer et configurer le serveur DHCP

  • pfSense 2.6 - DDNS (DNS dynamique)

    Pare-feu 6/6/2025

    pfSense 2.6 - DDNS (DNS dynamique)

  • pfSense 2.6 - Planifier une règle dans le pare-feu

    Pare-feu 13/6/2025

    pfSense 2.6 - Planifier une règle dans le pare-feu

  • pfSense 2.6 - Téléchargement et installation sous VMware Workstation

    Pare-feu 9/5/2025

    pfSense 2.6 - Téléchargement et installation sous VMware Workstation

Commentaires

Vous devez être connecté pour pouvoir poster un commentaire

Donnez-nous votre avis

Contenu épinglé

  • Logiciels (Admin système)
  • Logiciels Linux
  • Nos programmes
  • Conditions générales
  • Donnez votre avis

Contact

  • Livre d'or
  • Support technique
  • Contact

® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.

Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.