HAProxy n’est pas qu’un simple Proxy. Il permet aussi de faire du Load Balancing et de la High Availability.
Dans cet article, je vais vous montrer comment le configurer mais seulement pour une utilisation en tant que simple Proxy, sans Load Balancing, ni même High Availability.
Depuis votre machine Linux qui vous servira de Proxy, saisir les commandes suivante, en tant que su, pour installer HAProxy :
- apt update
- apt upgrade
- apt install haproxy
Éditez ensuite le fichier /etc/haproxy/haproxy.cfg avec l’éditeur de votre choix, et renseignez le comme ci-dessous.
defaults
mode tcp
maxconn 30
timeout client 10s
timeout connect 5s
timeout server 10s
timeout http-request 10s
frontend myfrontend
bind :80
bind :443 ssl crt /etc/haproxy/cert/haproxy.pem
http-request redirect scheme https unless { ssl_fc }
default_backend myservers
backend myservers
server server1 ip_lan_serveur_Web:443 check ssl verify none
Petites explications :
- Dans defaults, l’argument maxconn permet de limiter le nombre de connexion simultanée. J’ai mis 30 dans mon exemple mais vous pouvez mettre plus. Cela dépend des ressources de votre serveur et du nombre de connexion qu’il peut tolérer avant saturation. Ça peut également vous protéger à moindre coup en cas d’attaque DoS.
- Si le certificat de votre site Web est un certificat auto-signé via Let’s Encrypt, le certificat présent à la ligne bind :443 ssl crt /etc/haproxy/cert/haproxy.pem doit être le résultat de la concaténation entre la fullchain (Chaîne entière) et la privkey (Clé privée).
- ssl verify none (backend) pour ignorer la vérification du certificat, vu que c’est votre serveur Web qui s’en chargera.