88 votes

Meilleure façon de rediriger tout le trafic HTTP vers HTTPS dans IIS

Nous voulons que TOUS les sites sur notre serveur web (IIS 10) imposent SSL (c'est-à-dire redirigent HTTP vers HTTPS).

Actuellement, nous "Exigeons SSL" sur chaque site et mettons en place un gestionnaire d'erreur 403 pour effectuer une redirection 302 vers l'adresse https pour ce site spécifique.

Cela fonctionne très bien. Mais c'est pénible à faire pour chaque site, il y a beaucoup de place pour l'erreur humaine.

Idéalement, j'aimerais mettre en place une redirection permanente 301 sur tous les HTTP://* vers HTTPS://*

Y a-t-il un moyen simple de le faire dans IIS ?

0 votes

Ne pourriez-vous pas écrire un script pour effectuer ce changement pour chaque site, ce qui réduirait à la fois la charge administrative et aiderait également à prévenir les fautes de frappe et les erreurs?

1 votes

Le titre est incorrect. Je pense qu'il était censé dire "Meilleure façon de rediriger tout HTTP vers HTTPS dans IIS"

0 votes

@ToddWilcox pouvez-vous donner un exemple d'un tel script?

124voto

sippybear Points 2807

Le module de réécriture d'URL IIS 2.1 pour IIS7+ peut être votre ami. Le module peut être téléchargé depuis Réécriture d'URL IIS. Utilisation du module de réécriture d'URL et Référence de configuration du module de réécriture d'URL 2.0 expliquent comment utiliser le module.

Une fois le module installé, vous pouvez créer une redirection globale d'hôte en utilisant le Gestionnaire IIS. Sélectionnez Réécriture d'URL, Ajouter une règle..., et Règle vide.

Nom:
Rediriger vers HTTPS

Correspondance d'URL
URL demandée: Correspond au motif
Utilisation: Caractères génériques
Motif: *
Ignorer la casse: Coché

Conditions
Regroupement logique: Correspondre à n'importe lequel
Entrée de condition: {HTTPS}
Vérifier si la chaîne d'entrée: Correspond au motif
Motif: OFF
Ignorer la casse: Coché
Suivre les groupes de capture entre les conditions: Non coché

Variables du serveur
Laisser vide.

Action
Type d'action: Rediriger
URL de redirection: https://{HTTP_HOST}{REQUEST_URI}
Ajouter la chaîne de requête: Non coché
Type de redirection: Permanent (301)

Appliquer la règle et exécuter IISReset (ou cliquer sur Redémarrer dans le Gestionnaire IIS)

Alternativement, après avoir installé le module, vous pourriez modifier le fichier applicationHost.config comme suit:

0 votes

Est-ce que cela fonctionnera pour des redirections permanentes 301 ?

0 votes

@userSteve comme indiqué dans la réponse ci-dessus, vous pouvez choisir le type de redirection.

0 votes

@userSteve oups, oui vous devriez pouvoir modifier le Type de redirection en 301 et obtenir les mêmes résultats

8voto

Fallen Angel Points 79

Mes recherches montrent que ceci pourrait être une meilleure façon de rediriger :

5 votes

Pouvez-vous expliquer pourquoi c'est mieux ?

0 votes

Je suis désolé, je ne peux pas l'expliquer moi-même, j'ai juste lu à quelques endroits que sa syntaxe est meilleure.

2 votes

Avez-vous des sources ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X