Skip to main content

Installation de serveur web derriére le Haproxy

PRÉREQUIS:

  • Avoir 2 machine disonible pour installer les serveur web dessus.
    1. Installer le service nginx:
      apt update; apt upgrade; apt install nginx
    2. Tester si le serveur est bien installé

      Mes deux serveurs web on ces IPs 172.16.250.4 et 172.16.250.5

      Se connecter sur un serveur disposant de la commande curl:
      root@bastion-front-01:~/GIT/cours_bts# for i in {4..5}; do echo -e "####Je vais tester 172.16.250.${i}### \n";curl -IL http://172.16.250.$i ; done 
      ####Je vais tester 172.16.250.4### 
      
      HTTP/1.1 200 OK
      Server: nginx/1.22.1
      Date: Thu, 21 Sep 2023 16:51:40 GMT
      Content-Type: text/html
      Content-Length: 615
      Last-Modified: Thu, 21 Sep 2023 16:47:16 GMT
      Connection: keep-alive
      ETag: "650c7394-267"
      Accept-Ranges: bytes
      
      ####Je vais tester 172.16.250.5### 
      
      HTTP/1.1 200 OK
      Server: nginx/1.22.1
      Date: Thu, 21 Sep 2023 16:51:40 GMT
      Content-Type: text/html
      Content-Length: 615
      Last-Modified: Thu, 21 Sep 2023 16:47:20 GMT
      Connection: keep-alive
      ETag: "650c7398-267"
      Accept-Ranges: bytes

      Les deux serveurs répondent bien

    3. Modifier le fichier affiché par Nginx:
      echo $HOSTNAME > /var/www/html/index.nginx-debian.html

      On  refait la commande pour tester:

      root@bastion-front-01:~/GIT/cours_bts# for i in {4..5}; do echo -e "####Je vais tester 172.16.250.${i}### \n";curl -L http://172.16.250.$i ; done 
      ####Je vais tester 172.16.250.4### 
      
      web-front-01
      ####Je vais tester 172.16.250.5### 
      
      web-front-02

      Les deux serveurs répondent bien leurs Hostname(NOM)

    4. Paramétrer le serveur haproxy pour qu'il renvoie vers les serveurs web
      Ajouter les ligne suivante dans le fichier /etc/haproxy/haproxy.cfg
      #L'ip que je veux mettre en avant
      frontend http-external
          bind 172.16.250.3:80
          default_backend http
      
      #Les IP vers lesquelles je veux renvoyer les requete
      backend http
          balance roundrobin
          mode http
          option forwardfor
          option http-server-close
          server web-front-01 172.16.250.4:80 check
          server web-front-02 172.16.250.5:80 check
      
    5. On Va tester le fichier de configuration
      haproxy -c -f /etc/haproxy/haproxy.cfg

  1. Puis on va reload le service
    systemctl reload haproxy
  2. Nous allons tester sir le haproxy prends bien en compte en regardant la page de stats

    image.pngC'est OK on voit bien les deux serveurs

  3. On va tester avec la commande curl
    root@bastion-front-01:~/GIT/cours_bts# for i in {1..2}; do curl http://172.16.250.3; done 
    web-front-01
    web-front-02