Windows 2008 IIS 7.0 HTTP to HTTPS Redirect – Versus IIS 6.0 Mécanisme

Ce sujet, créant un mécanisme de redirection de HTTP vers HTTPS sur un server Windows 2008 exécutant IIS 7.0, est un sujet très écrit sur Internet. La façon dont cela se fait n'est pas vraiment mon problème. Mon problème est plus d'expliquer pourquoi cela ne peut pas être fait avec le module de redirection HTTP standard fourni avec Windows 2008 IIS 7.0. Au lieu de cela, il existe d'autres methods qui sont plus pénibles.

Tout d'abord, la méthode IIS 6.0 ne nécessite aucun module disponible en externe ni nécessite des modifications supplémentaires sur le web.config ou tout autre type d'effort de développement. Il est décrit ici: http://blogs.microsoft.co.il/blogs/dorr/archive/2009/01/13/how-to-force-redirection-from-http-to-https-on-iis-6- 0.aspx Et, vous pouvez voir les étapes de base pour exécuter le composant logiciel enfichable, get les propriétés sur le site et apporter des modifications. Presto, vous avez la configuration de redirection HTTP -> HTTP.

Maintenant, sur la plate-forme IIS 7.0, cela ne semble pas simple. Une search initiale a trouvé le site suivant: http://www.sslshopper.com/iis7-redirect-http-to-https.html qui a deux approches distinctes: 1. implique l'installation d'un module Microsoft disponible séparément – module de réécriture d'URL, puis en ajoutant XML à la web.config. 2. Page d'erreur personnalisée. … il pourrait y avoir d'autres methods, mais ce sont les basiques et le premier est répertorié comme la méthode principale.

Mais attendez … Il existe sur le IIS 7.0 un module de redirection HTTP. Alors … pourquoi ne puis-je pas utiliser le module de redirection HTTP pour faire cela même?

C'est vraiment ma grande question. Je dois le savoir parce que ma gestion va insister pour utiliser le module de redirection HTTP et configurer la redirection HTTP vers HTTPS de la même façon que dans le cas de IIS 6.0.

Quelqu'un peut-il m'expliquer dans des termes propres, simples, faciles à comprendre, des termes que je et ma gestion peuvent comprendre pour savoir pourquoi je dois aller chercher le module de réécriture d'URL et l'installer sur le server et faire changer Web.config suggéré par l'article plutôt que simplement d'utiliser le module HTTP Redirect déjà installé sur le site?

Merci beaucoup.

Le seul but du module de redirection HTTP embedded dans la vie était de renvoyer des codes d'erreur de la série 300 pour indiquer au browser d'aller ailleurs. Théoriquement, vous pouvez configurer un 301 ou 302 pour envoyer du trafic vers HTTPS, mais cela nécessite beaucoup de frais généraux, en particulier:

  1. Un site distinct pour recevoir uniquement les requêtes HTTP
  2. Une règle pour redirect le trafic, cela ne gère pas toujours les requêtes, etc.
  3. Un deuxième site pour ne recevoir que des requests HTTPS

Contrairement au nouveau module (qui dans IIS 8 est par défaut) qui vous permet d'exécuter des règles pour le site de manière beaucoup plus spécifique et d'avoir un meilleur contrôle sur le routing et les transformations de trafic.

Quant à votre souci de modifier directement le file web.config, il existe des façons de le faire, mais je ne peux pas find ma source à ce sujet maintenant. Essentiellement, vous pouvez stocker la configuration de réécriture à l'location de configuration du site Web par opposition au niveau d'application.

  • Machine (machine.config)
  • Serveur (ApplicationHost.config)
  • Site Internet
  • Application (web.config)