Wir möchten, dass ALLE Websites auf unserem Webserver (IIS 10) SSL erzwingen (dh HTTP zu HTTPS umleiten).
Derzeit ist für jede Site SSL erforderlich, und es wird ein 403 error
Handler eingerichtet, der eine Verbindung 302 redirect
zur https-Adresse für diese bestimmte Site herstellt.
Das funktioniert super. Aber es ist eine Qual für jeden einzelnen Standort, es gibt viel Raum für menschliches Versagen.
Ich würde im Idealfall eine permanente einrichten möchten 301 redirect
auf alle HTTP://*
zuHTTPS://*
Gibt es eine einfache Möglichkeit, dies in IIS zu tun?
Antworten:
Das IIS URL Rewrite-Modul 2.1 für IIS7 + ist möglicherweise Ihr Freund. Das Modul kann von IIS URL Rewrite heruntergeladen werden . Verwenden der Konfigurationsreferenz für URL Rewrite Module und URL Rewrite Module 2.0 erklären die Verwendung des Moduls.
Sobald das Modul installiert ist, können Sie mithilfe des IIS-Managers eine hostweite Umleitung erstellen. Wählen Sie URL-Umschreiben , Regel (n) hinzufügen ... und Leere Regel .
Name:
Weiterleitung zu HTTPS
Übereinstimmende URL
Angeforderte URL:
Matches the Pattern
Verwenden:
Wildcards
Muster:
*
Groß- / Kleinschreibung ignorieren: Checked
Bedingungen
Logische Gruppierung:
Match Any
Bedingungseingabe :
{HTTPS}
Überprüfen Sie, ob die Eingabezeichenfolge:
Matches the Pattern
Muster:
OFF
Groß- / Kleinschreibung ignorieren: Aktiviert
Track Capture-Gruppen über Bedingungen hinweg: Nicht aktiviert
Servervariablen
freilassen.
Aktion
Aktionstyp:
Redirect
Weiterleitungs-URL:
https://{HTTP_HOST}{REQUEST_URI}
Anhängen der Abfragezeichenfolge: Nicht aktiviert
Weiterleitungstyp:
Permanent (301)
Wenden Sie die Regel an und führen Sie IISReset aus (oder klicken Sie im IIS-Manager auf Neu starten).
Alternativ können Sie nach der Installation des Moduls die Datei applicationHost.config wie folgt ändern:
quelle
Meine Forschung zeigt, dass dies ein besserer Weg zur Weiterleitung sein könnte:
quelle