Pound: Rediriger le traffic HTTP vers HTTPS

Bonjour,

Pound en quelques mots est un reverse proxy et un load balancer pour serveurs web. La description détaillée est disponible sur le site officiel (en anglais) http://www.apsis.ch/pound/.

Le but du billet de ce soir est de montrer comment on peut forcer les utilisateurs a passer par le protocol HTTPS (web sécurisé) au lieu du protocol HTTP.

La démonstration sera réalisée sur une système FreeBSD. La configuration sera la même pour les autres systèmes seuls changent la procédure d’installation et l’emplacement du fichier de configuration.

L’installation se fait de la facon suivante :

# cd /usr/ports/www/pound
# make install clean

On créé le fichier de configuration (non créé pendant l’installation).

# ee /usr/local/etc/pound.cfg
user www
group www
ListenHTTP
        Address 123.123.123.123
        Port 80
        Service
                Redirect "https://123.123.123.123"
        End
End

ListenHTTPS
        Address 123.123.123.123
        Port 443
        Cert    "/etc/ssl/local.server.pem"
End

Service
        Backend
                Address localhost
                Port 80
        End
End

Qui dit HTTPS dit certficat. Sans aller à demander un certificat à une autorité de certification, on génère un certificat ce qu’on appelle auto signé.

# cd /etc/ssl
# openssl req -x509 -newkey rsa:1024 -keyout local.server.pem -out local.server.pem -days 365 -nodes

On active pound au démarrage de la machine :

# echo 'pound_enable="YES"' >> /etc/rc.conf

Et on démarre pound :

# /usr/local/rc.d/pound start

Il faut faire attention a bien faire tourner le serveur web de destination sur localhost.

Pound offre bien d’autres possibilités. Ca fera certainement l’objet d’un autre billet.

A bientôt.

Leave a Reply

Your email address will not be published. Required fields are marked *

Sécurité *