Forcer la redirection HTTPS avec le fichier web.config sur Plesk


Définition

Définition

Suite à l'activation d'un certificat SSL sur un nom de domaine, il peut être nécessaire de forcer l'utilisation du protocole https, afin qu'un internaute soit automatiquement redirigé vers une url sécurisée

Procédure

[bcolor_blue]

Service concerné : Hébergement Windows ASP.NET
Panel concerné : Plesk
Niveau : intermédiaire

[/bcolor]

Cette aide explique comment rediriger les visiteurs de la version HTTP de votre site vers sa version sécurisée en HTTPS en ajoutant une règle dans le fichier web.config.

Cette méthode est destinée aux sites hébergés sur un serveur Windows avec IIS. Elle peut notamment être utilisée lorsque votre application nécessite une règle de redirection personnalisée.

[bcolor_blue]

Pour activer la redirection HTTPS directement depuis Plesk, consultez l’aide : Comment mettre en place un certificat SSL sur un hébergement Plesk ?

[/bcolor]

[bcolor_blue]

Cette aide concerne uniquement les hébergements Windows utilisant Plesk.

Vous utilisez un autre environnement ?

[/bcolor]

Avant de commencer

Vérifiez que votre certificat SSL/TLS est installé et que votre site s’affiche correctement lorsque vous saisissez directement son adresse en https://.

Le certificat doit couvrir l’adresse utilisée par vos visiteurs, notamment le domaine avec ou sans www.

Téléchargez également une copie de votre fichier web.config avant de le modifier. Vous pourrez ainsi le restaurer rapidement si le site ne s’affiche plus après la modification.

[bcolor_orange]

La règle présentée dans cette aide crée une redirection permanente 301. Elle peut être mémorisée par le navigateur.

N’activez cette redirection qu’après avoir vérifié que votre site fonctionne correctement en HTTPS.

[/bcolor]

Accéder au fichier web.config

Depuis votre panel Plesk :

  1. Ouvrez la rubrique Sites Web & Domaines.
    Forcer la redirection HTTPS avec le fichier web.config sur Plesk
  2. Cliquez sur Gestionnaire de fichiers.
  3. Ouvrez le dossier racine du site concerné. Il s’agit généralement du dossier httpdocs.
    Forcer la redirection HTTPS avec le fichier web.config sur Plesk
  4. Recherchez le fichier web.config.
  5. Téléchargez une copie de ce fichier avant de le modifier.
    Forcer la redirection HTTPS avec le fichier web.config sur Plesk
  6. Cliquez sur le fichier, puis ouvrez-le dans l’éditeur de texte.

Si aucun fichier web.config n’existe dans le dossier racine du site, vous pouvez en créer un.

Forcer la redirection HTTPS avec le fichier web.config sur Plesk

[bcolor_orange]

Le fichier web.config utilise le format XML. Une balise manquante, mal fermée ou placée au mauvais endroit peut provoquer une erreur 500 et empêcher l’affichage du site.

[/bcolor]

Ajouter la règle de redirection HTTPS

La modification à effectuer dépend du contenu actuel de votre fichier web.config.

Le fichier web.config est vide ou n’existe pas

Ajoutez le contenu suivant :

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Redirection HTTP vers HTTPS" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          </conditions>
          <action
            type="Redirect"
            url="https://{HTTP_HOST}/{R:1}"
            redirectType="Permanent"
          />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Enregistrez ensuite le fichier.

Le fichier contient déjà une section rewrite

Ne créez pas une deuxième section <rewrite> ou <rules>.

Ajoutez uniquement la règle suivante à l’intérieur de la section <rules> existante, avant la balise de fermeture </rules> :

<rule name="Redirection HTTP vers HTTPS" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTPS}" pattern="off" ignoreCase="true" />
  </conditions>
  <action
    type="Redirect"
    url="https://{HTTP_HOST}/{R:1}"
    redirectType="Permanent"
  />
</rule>

Le nom de la règle doit être différent de celui des autres règles déjà présentes dans le fichier.

[bcolor_orange]

Vérifiez qu’aucune autre règle du fichier web.config ou de votre application ne redirige déjà le site vers HTTPS. Plusieurs redirections actives simultanément peuvent provoquer une boucle.

[/bcolor]

Vérifier que la redirection fonctionne

Ouvrez une fenêtre de navigation privée, puis saisissez l’adresse de votre site en commençant par http://.

Par exemple :

http://votredomaine.fr

Le navigateur doit automatiquement afficher :

https://votredomaine.fr

Testez également une page interne :

http://votredomaine.fr/contact

Elle doit être redirigée vers la même page en HTTPS :

https://votredomaine.fr/contact

Effectuez également le test avec la version comportant www si elle est utilisée par votre site.

[bcolor_green]

La redirection fonctionne si les adresses commençant par http:// basculent automatiquement vers la même page en https://, sans alerte de sécurité.

[/bcolor]

Annuler la modification

Si votre site ne s’affiche plus après l’enregistrement :

  1. Retournez dans le Gestionnaire de fichiers de Plesk.
  2. Remplacez le fichier web.config modifié par la copie téléchargée avant la manipulation.
    Forcer la redirection HTTPS avec le fichier web.config sur Plesk
  3. Rechargez votre site.

Si vous avez uniquement ajouté la règle dans une section <rules> existante, supprimez le bloc commençant par :

<rule name="Redirection HTTP vers HTTPS"

et se terminant par :

</rule>

Enregistrez ensuite le fichier et testez de nouveau votre site.

Problèmes fréquents

Mon site affiche une erreur 500

Le fichier web.config contient probablement une erreur de syntaxe ou une section en double.

Restaurez la copie sauvegardée, puis vérifiez :

  • que chaque balise ouverte possède une balise de fermeture ;
  • qu’il n’existe qu’une seule section <configuration> ;
  • qu’il n’existe qu’une seule section <system.webServer> ;
  • que vous n’avez pas ajouté une deuxième section <rewrite> ou <rules>.

Le navigateur affiche une boucle de redirection

Une autre redirection HTTPS est probablement déjà active.

Vérifiez :

  • les autres règles présentes dans le fichier web.config ;
  • les paramètres HTTPS de votre CMS ou de votre application ;
  • les éventuelles redirections configurées depuis Plesk.

Conservez une seule méthode de redirection lorsque cela est possible.

Testez ensuite le site dans une fenêtre de navigation privée afin qu’une ancienne redirection mémorisée par le navigateur ne fausse pas le résultat.

Le site reste accessible en HTTP

Vérifiez que le fichier web.config se trouve dans le dossier racine du bon site. Il s’agit généralement du dossier httpdocs, mais un domaine secondaire peut utiliser un autre dossier.

Contrôlez également que la règle est bien placée dans la section <system.webServer> et que le fichier a été enregistré.

Une alerte de sécurité apparaît après la redirection

La redirection fonctionne, mais le certificat SSL/TLS n’est pas valide pour l’adresse demandée.

Vérifiez que le certificat :

  • n’est pas expiré ;
  • couvre le nom de domaine utilisé ;
  • couvre la version avec www si elle est utilisée ;
  • couvre le sous-domaine concerné.

Le cadenas ne s’affiche pas alors que le site est en HTTPS

Certaines ressources du site, comme des images, des scripts ou des feuilles de style, sont probablement encore chargées avec une adresse commençant par http://.

La redirection ne modifie pas automatiquement les liens enregistrés dans votre site. Vous devez corriger ces adresses dans votre CMS, votre base de données ou les fichiers de votre application.

[tips_related_readings] 
 

[/tips]

Notez cet article

Vous avez noté 0 étoile(s)

Cet article a été lu 9918 fois.

Top