Home site EPFL Windows.epfl.ch
Redirection automatique d'un site IIS http vers https

Il existe plusieurs façons de rediriger automatiquement un site http vers https, celle-ci à l'avantage de ne nécessiter aucun script, aucun add-on à IIS, d'être explicite et de fonctionner dans le 100% des cas !

Etat actuel

Vous possédez un site web IIS avec des bindings en http (port 80) et https (port 443). Vous désirez que tous les utilisateurs soient automatiquement redirigé en https, même s'il s'agit d'une URL pointant dans un sous-répertoire et même si l'URL transmet des paramètres en POST ou en GET

Actions à entreprendre :

Il s'agit de paramétrer correctement IIS de façon à ce qu'il effectue directement la redirection http vers https

  1. Lancer la console "Internet Information Service Manager"
  2. Sélectionnez le site désiré, cliquez sur bindings (à droite) et notez à part les bindings http, puis supprimez-les :
  3. Créez un nouveau site IIS pointant vers un répertoire complètement vide, nommez-le, par exemple du nom de votre site avec le suffixe "-http"
  4. Cliquez sur Bindings, tout à droite, et ajoutez-y les valeurs http que vous venez de supprimer. Fermer la boîte de dialogue une fois terminé.
  5. Dans la section IIS, double-cliquez sur HTTP Redirect
  6. Sur la page HTTP redirect, remplissez là comme suit :
    1. Cochez la case "Redirect request to this destination"
    2. Dans la boîte de texte, entrez l'URL de base de votre site https suivi de $V$Q (attention à ne pas rajouter de "/" entre l'URL et le "$")
      Dans la zone "Redirect Behavior" :
    3. Cochez uniquement "Redirect requests to exact destination (instead of relative destination)"
    4. Dans la liste déroulante "Status code:", sélectionnez "Permanent (301)"
    5. N'oubliez pas de cliquer sur "Apply", tout à droite.
  7. Et c'est terminé !!!

Vous pouvez aussi remplacer les points 6.1 à 6.5 en plaçant dans le répertoire nouvellement créé un fichier "web.config" contenant :

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpRedirect enabled="true" destination="
https://monsite.epfl.ch$V$Q" exactDestination="true" httpResponseStatus="Permanent" />
    </system.webServer>
</configuration>

https://monsite.epfl.ch$V$Q est le cite cible en https (ne pas oublier le $V$Q immédiatement après le nom du site)

 


Article N° 1392 du 13.12.2019 11:47:13 par Thierry Charles -- Permalink : http://windows.epfl.ch/?article=1392