Dans ce tutoriel, nous allons vous montrer comment installer et configurer HAProxy sur Ubuntu 16.04 LTS. Pour ceux d'entre vous qui ne le savaient pas, HAProxy est un équilibreur de charge HTTP/TCP haute disponibilité gratuit et serveur proxy. Il répartit les demandes entre plusieurs serveurs pour atténuer les problèmes résultant d'une défaillance d'un seul serveur. Le proxy HA est utilisé par un certain nombre de sites Web de premier plan, notamment GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter et Tuenti, et est utilisé dans le produit OpsWorks d'Amazon Web Services.
Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo
‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer étape par étape l'installation de HAProxy sur un serveur Ubuntu 16.04 (Xenial Xerus).
Installer HAProxy sur Ubuntu 16.04 LTS
Étape 1. Tout d'abord, assurez-vous que tous vos packages système sont à jour en exécutant le suivant apt-get
commandes dans le terminal.
sudo apt-get updatesudo apt-get upgrade
Étape 2. Détails du réseau.
Ci-dessous se trouve notre serveur réseau. Il y a 3 serveurs Web fonctionnant avec Apache2 et écoutant sur le port 80 et un serveur HAProxy :
Détails du serveur Web:Server 1:web1.idroot.us 192.168.1.101 Server 2:web2.idroot.us 192.168.1.102 Server 3:web3.idroot.us 192.168.1.103haproxy Server:Haproxy:Haproxy 192.168.16Étape 3. Installation de HAProxy.
Installez maintenant HAProxy avec la commande suivante :
apt-get -y install haproxyAprès l'installation, vous pouvez revérifier le numéro de version installé avec ce qui suit :
haproxy -vÉtape 4. Configuration de HAProxy.
Nous devons modifier le fichier de configuration de HAProxy c'est-à-dire
/etc/haproxy/haproxy.cfg
selon notre demande. (Modifiez cette configuration en fonction de vos besoins réseau). Pour plus de détails sur la configuration, consultez cette URL.### nano /etc/haproxy/haproxy.cfgglobal log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon # Emplacements de matériel SSL par défaut ca-base /etc/ssl/certs crt-base /etc/ssl/private # Chiffrements par défaut à utiliser sur les sockets d'écoute compatibles SSL. # Pour plus d'informations, voir ciphers(1SSL). Cette liste provient de : # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256::RSA+ AES:RSA + 3DES :! ANULL :! MD5 :! DSS SSL-DEFAULT-Bind-Options NO-SSLV3DEFAULTS MODE Global Mode http Option httplog Option Dontlognull Timeout Connect 5000 Timeout Client 50000 Temps Server 50000 ERRORFILE 400 / etc / haproxy / errors / 400.http fichier d'erreur 403 /etc/haproxy/errors/403.http fichier d'erreur 408 /etc/haproxy/errors/408.http fichier d'erreur 500 /etc/haproxy/errors/500.http fichier d'erreur 502 /etc/haproxy/errors/502. http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http frontend Local_Server bind 192.168.1.16:80 mode http default_backend My_Web_Serversbackend My_Web_Servers mode http balance roundrobin option forwardrequest -Forwarded-Port %[dst_port] http-request add-header X-Forwarded-Proto https if { ssl_fc } option httpchk HEAD / HTTP/1.1rnHost:localhost serveur web1.idroot.us 192.168.1.101:80 serveur web2.idroot.us 192.168.1.102:80 serveur web3.idroot.us 192.168.1.103:80listen stats *:1936 stats enable hide-version stats refresh 30s stats show-node stats auth username:password stats uri /statsPuisque vous avez terminé toutes les configurations nécessaires pour le serveur proxy, vérifiez le fichier de configuration avant de redémarrer le service à l'aide de la commande suivante :
haproxy -c -f /etc/haproxy/haproxy.cfgSi la commande ci-dessus renvoie la sortie comme "le fichier de configuration est valide", redémarrez le service HAProxy :
systemctl redémarrer haproxyÉtape 5. Accéder à HAProxy.
Ouvrez votre navigateur préféré et accédez au port 80 sur l'IP 192.168.0.16 (comme configuré ci-dessus) dans un navigateur Web et appuyez sur Actualiser. Vous verrez que HAProxy envoie des requêtes au serveur principal un par un (selon l'algorithme round-robin).
Félicitations ! Vous avez installé HAProxy avec succès. Merci d'avoir utilisé ce didacticiel pour installer l'équilibrage de charge HAProxy sur le système Ubuntu 16.04 LTS (Xenial Xerus). Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de vérifier le site officiel HAProxy.