IIS : redirection HTTP vers HTTPS

I. Présentation

Lorsque l'on héberge un site Internet ou une application accessible au travers du protocole HTTPS, on aime bien garder l'accès HTTP actif et rediriger les flux automatiquement de HTTP vers HTTPS afin que toutes les connexions soient sécurisées.

Dans ce tutoriel, nous allons voir comment rediriger automatiquement de HTTP vers HTTPS au sein de IIS. Je souhaitais partager avec vous cette méthode que j'ai déjà mise en place à plusieurs reprises et qui fonctionne très bien ! ?

? Prérequis : avant de commencer la configuration, vous devez installer le module "URL-Rewrite" sur votre serveur IIS. Vous pouvez le trouver sur la page suivante : IIS - URL Rewrite

Je pars également du principe que votre site est déjà accessible en HTTPS et que vous avez mis en place un certificat SSL.

II. Réécriture HTTP vers HTTPS sous IIS

Sur le serveur IIS, ouvrez la console "Gestionnaire des services Internet (IIS)" et sur la gauche, cliquez sur le site correspondant à celui sur lequel vous souhaitez configurer la redirection HTTP vers HTTPS.

Ensuite, au sein du panneau central, cliquez sur "Réécriture d'URL".

Une fois dans la partie "Réécriture d'URL", cliquez sur "Ajouter des règles" à droite. Choisissez "Règle vide" sous "Règles de trafic entrant". Cliquez sur "OK".

Donnez un nom à cette règle, par exemple "Redirection HTTP vers HTTPS" et renseignez la première zone, à savoir "Faire correspondre l'URL".

  • Sélectionnez "Correspond au modèle" pour le champ "URL demandée"
  • Sélectionnez "Expressions régulières" pour le champ "En utilisant"
  • Saisissez "(.*)" dans la zone "Modèle" pour rediriger, peu importe la page du site
  • Cochez la case "Ignorer la casse".

Descendez dans la page... Vous trouverez la zone "Conditions" : sélectionnez "Toutes conditions" comme "Regroupement logique" et cliquez sur le bouton "Ajouter" sur la droite.

La condition doit être créée de cette façon :

  • Entrée de la condition : {HTTPS}
  • Choisissez "Correspond au modèle" pour le champ "Vérifier la chaîne d'entrée"
  • Utilisez le modèle suivant : ^OFF$
  • Cochez la case "Ignorer la casse" et validez...

Cette condition va permettre que cette règle s'exécute uniquement lorsque la requête est envoyée en HTTP, d'où le "HTTPS = OFF" que l'on peut comprendre ainsi.

Dans la partie "Action", indiquez les valeurs suivantes :

  • Type de l'action = Rediriger
  • URL de redirection : https://{HTTP_HOST}{REQUEST_URI}
  • Décochez l'option "Ajouter une chaîne de requête"
  • Choisissez "Permanent (301)" comme "Type de redirection"

Cette règle va permettre de reprendre le site (http_host) ainsi que la requête (request_uri) en ajoutant "https://" devant pour rediriger le flux.

Pour le référencement (SEO), il est recommandé d'utiliser une redirection de type "301" qui sera dite permanente. Cela permet de dire que le contenu est définitivement déplacé de HTTP vers HTTPS.

Vous pouvez valider la configuration, la redirection est configurée ?

Par curiosité, vous pouvez consulter le fichier de configuration du site. Effectuez un clic droit dessus et cliquez sur "Explorer".

Dans ce dossier, vous devez trouver un fichier Web.Config : si vous le modifiez, vous allez retrouver un bloc de configuration correspondant à la règle que l'on vient de créer ?

Au fait, vous pouvez tester la redirection HTTP vers HTTPS ça doit fonctionner !

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5557.Voir tous les posts

6 thoughts on “IIS : redirection HTTP vers HTTPS

  • Parfois, suffit juste d’activer IIS si on a un autre web server pour que IIS fasse la redir http vers https sur ce fameux web server, true story x)

    Répondre
  • Merci pour l’aide précise et concise.
    Du coup, ayant recompilé mon site après avoir effectuer la redirection, il a fallu reprendre la procédure.

    Répondre
  • Bonjour,

    Merci pour ces explications très claires.
    je n’arrive pas à enregistrer le fichier ou plus exactement il est enregistré mais avec une erreur…et si je relance IIS pour vérifier, les paramètres ne sont pas conservés.
    Tant que je ne relance pas le serveur, la redirection hhtp vers https fonctionne quand même.

    Voici le message : (j’avais prévu des copies écrans)

    Une erreur s’est produite lors de cette opération
    Details :
    Nom du fichier : \\……\web.config
    numero de ligne : 6
    Erreur : impossible d’ajouter une entree de collection dupliquée de type ‘rule’ avec un attribut de clé unique de type « name » ayant la valeur ‘redirection https’

    et voici ce que j’ai donc mon fichier :

    Pouvez vous m’aider ?
    Cordialement,
    Christian

    Répondre
  • j’ai fait exactement la même choses et j’ai même supprimé et recommencé mais la redirection ne fonctionne pas.
    Site web Angular héberger par IIS

    Répondre

Répondre à Vincent Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.