Rediriger le flux HTTP 80 vers le HTTPS 443 avec nginx

Tut's Linux mai 18, 2016

Les serveurs web sont formidables. Sur votre serveur nginx, vous pouvez rediriger automatiquement toutes les requêtes envoyées sur le HTTP (80 par défaut) vers le HTTPS (443 par défaut) et ce, grâce à une modification dans votre fichier de configuration du site web concerné.

La tendance est au HTTPS et tant mieux !
Vous pouvez faire fonctionner nginx aussi bien avec du HTTP ou du HTTPS, ou même les deux à la fois.


Pour se faire, il faut ouvrir les deux ports sur votre routeur et votre pare-feu, les 80 et 443. Dans votre fichier de configuration du site web concerné, voici ce qu’il faut entrer :

server {
       listen         80 http2;
       server_name    ndd.fr;
       return         301 https://$server_name$request_uri;
}
server {
listen         443 http2 ssl;
server_name    ndd.fr;
# Sécurité pour éviter les MITM
add_header Strict-Transport-Security "max-age=31536000";
   ...

Les attributs « server_name » sont à changer par votre nom de domaine.

En somme, tout ce qui arrivera (selon cette configuration) via le port 80 sur votre nom de domaine sera automatiquement redirigé (via une requête HTTP 301) vers la même adresse, mais cette fois-ci en HTTPS. Le lien de votre page web en HTTP sera toujours le même en HTTPS et ce, grâce à la requête HTTP 301.

Vous remarquerez aussi que j’ai ajouté l’option « http2 » sur mes deux ports d’écoutes – si votre serveur web nginx ne supporte pas le HTTP2, vous devrez supprimer cette option pour éviter une page blanche sur votre site web.

Bien entendu, il est possible de changer les numéros des ports d’écoute de votre serveur web nginx ; n’oubliez pas d’effectuer aussi les modifications sur votre routeur et votre pare-feu.

Mots clés

Julien HOMMET

Bercé par l'informatique depuis mon plus jeune âge, je transforme ma passion en expertise.

Super ! Vous vous êtes inscrit avec succès.
Super ! Effectuez le paiement pour obtenir l'accès complet.
Bon retour parmi nous ! Vous vous êtes connecté avec succès.
Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.