Pfsense : redirection HTTP vers HTTPS avec HAProxy
I. Présentation
Dans ce tutoriel, nous allons apprendre à configurer un reverse proxy HAProxy sur Pfsense afin de rediriger les flux HTTP vers HTTPS, à destination de notre site Web. Cet article s'inscrit dans la continuité du premier article sur la mise en place d'un reverse proxy HAProxy sur Pfsense.
J'utilise la configuration initiale détaillée dans le précédent tutoriel comme point de départ de ce nouvel article. L'idée est simple : quand un internaute visite le site "it-connect.tech" avec le protocole HTTP, je souhaite qu'il soit redirigé vers l'adresse en HTTPS. Même si le protocole HTTPS est utilisé majoritairement sur les sites, dans certains cas la redirection HTTP vers HTTPS reste utile pour ne pas perdre de flux. Quand tous les navigateurs utiliseront le HTTPS par défaut lorsque l'on saisie une adresse dans la barre d'adresse, cela sera plus simple.
II. HAProxy et la redirection HTTP vers HTTPS
Nous devons créer un nouveau frontend primaire, à partir de : Services > HAProxy > Frontend > Add. Ce nouveau frontend sera tout simplement nommé "HTTP-vers-HTTPS" et il va être actif sur le port 80 (http), au niveau de l'adresse IP WAN. Ce qui donne cette configuration :
Un peu plus bas dans la page, nous devons créer une ACL afin d'appliquer la règle lorsqu'un internaute accède au site "it-connect.tech". Pour cela, nous pouvons nommer l'ACL "IT-Connect-Redirect", avec l'expression "Host starts with:" (ou match) et le domaine comme valeur.
Quant à l'action à réaliser, c'est une redirection donc nous devons choisir "http-request-redirect" et sélectionner l'ACL "IT-Connect-Redirect". Pour la règle (rule), voici la valeur à utiliser pour appliquer une redirection permanente (code 301) de HTTP vers HTTPS :
code 301 location https://%[hdr(host)]%[path]
En image, cela donne :
Il ne reste plus qu'à sauvegarder et à recharger HAProxy pour passer en production cette nouvelle configuration. Néanmoins, cela ne devrait pas fonctionner pour le moment. Il reste une dernière étape de configuration. En effet, il faut penser à créer une règle de firewall sur l'interface WAN pour autoriser les flux HTTP. Pour créer cette règle : Firewall > Rules > WAN. Grâce à cette autorisation, HAProxy va pouvoir appliquer la redirection HTTP vers HTTPS.
bonjour,
Il y a une règle qui permet de changer le schema :
scheme https