Vergleich von SSL-Zertifikaten
Die Umleitung des gesamten Datenverkehrs von HTTP zu HTTPS in IIS7 stellt sicher, dass Ihre Benutzer immer sicher auf die Website zugreifen. Es gibt viele verschiedene Möglichkeiten, eine IIS7-Umleitung von HTTP zu HTTPS einzurichten, und einige sind besser als andere. Die ideale Umleitung von HTTP zu HTTPS würde Folgendes tun:
- Benutzer sanft auf HTTPS umleiten, damit sie nicht „https“ in die URL eingeben müssen
- Benutzer auf die spezifische Seite umleiten, die sie über HTTP aufrufen wollten (page.htm)
- alle im Query-String übergebenen Variablen speichern (?page=2)
- Funktioniert in allen Browsern
- Übertragen Sie PageRank auf die weitergeleitete Seite, indem Sie eine 301-Weiterleitung verwenden, um SEO zu erhalten
- Erlauben Sie bestimmten Teilen einer Website, SSL zu erzwingen, aber HTTP auf anderen Teilen der Website zu erlauben
- Weiterleiten Sie Benutzer von mydomain.com auf www.mydomain.com umleiten
Leider gibt es keine einfache Möglichkeit, alle diese Anforderungen zu erfüllen, und die meisten Methoden erfüllen nur einige von ihnen. Die beste Methode für eine HTTP-zu-HTTPS-Umleitung, die ich gesehen habe, ist die Verwendung von ASP.Net für die HTTP-zu-HTTPS-Umleitung.
Aber die meisten Leute brauchen nicht alle diese Funktionen, daher habe ich zwei der besten Methoden für die Umleitung von HTTP zu HTTPS in IIS 7 aufgelistet. Sie sind einfach einzurichten und in den meisten Situationen effektiv. Beachten Sie, dass diese Methoden mit einigen kleinen Änderungen auch in IIS 8 und IIS 10 funktionieren sollten.
Methode 1 – Verwendung des Microsoft URL Rewrite Module
Für diese Methode der Umleitung von HTTP zu HTTPS müssen Sie Folgendes tun;
- Installieren Sie das Microsoft URL Rewrite Module
- Installieren Sie Ihr SSL-Zertifikat in IIS 7 und binden Sie es an Ihre Website
- Stellen Sie sicher, dass Require SSL NICHT unter SSL Settings für (deaktivieren Sie die Kästchen, die in diesem Screenshot markiert sind)
- Kopieren Sie den folgenden Code und fügen Sie ihn zwischen den Tags <rules> und </rules> in Ihrer web.config-Datei in Ihrem Website-Stammverzeichnis ein.
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule> - Testen Sie die Website, indem Sie zu http://www.yoursite.com gehen und sicherstellen, dass die Umleitung funktioniert
Methode 2 – Einrichten einer benutzerdefinierten Fehlerseite
Die zweite Methode zur Einrichtung einer IIS7-Umleitung von HTTP zu HTTPS besteht darin, SSL für die Website oder einen Teil der Website zu verlangen und eine benutzerdefinierte 403.4-Fehlerseite einzurichten. Führen Sie dazu einfach die folgenden Schritte aus:
- Installieren Sie Ihr SSL-Zertifikat in IIS 7 und binden Sie es an Ihre Website
- Klicken Sie in IIS auf den Namen der Website und gehen Sie zum Abschnitt SSL-Einstellungen
- Kreuzen Sie Require SSL und Require 128-bit SSL an und klicken Sie auf Apply
- Nachdem Sie dies getan haben, erhalten Benutzer normalerweise diesen Fehler:
-
Erstellen Sie eine neue Textdatei und fügen Sie Folgendes ein:
<html>
<head><title>Redirecting...</title></head>
<script language="JavaScript">
function redirectHttpToHttps()
{
var httpURL= window.location.hostname + window.location.pathname + window.location.search;
var httpsURL= "https://" + httpURL;
window.location = httpsURL;
}
redirectHttpToHttps();
</script>
<body>
</body>
</html> - Speichern Sie die Datei als redirectToHttps.htm in Ihrem Verzeichnis C:\Inetpub
- Zurück im IIS, klicken Sie auf den Namen der Website und doppelklicken Sie auf die Option Fehlerseiten
- Klicken Sie auf Hinzufügen… und geben Sie 403.4 als Statuscode ein. Suchen Sie die soeben erstellte Datei redirectToHttps.htm und klicken Sie auf OK
- Wählen Sie den Fehlercode und klicken Sie auf Funktionseinstellungen bearbeiten…
- Klicken Sie auf die Option Benutzerdefinierte Fehlerseiten und suchen Sie erneut die Datei redirectToHttps.htm-Datei
- Testen Sie die Site, indem Sie zu http://www.yoursite.com gehen und sicherstellen, dass sie umgeleitet wird
Eine Einschränkung bei der Verwendung einer benutzerdefinierten Fehlerseite für eine IIS7-Umleitung von HTTP zu HTTPS ist, dass der Webbrowser JavaScript aktiviert haben muss, damit die Umleitung funktioniert.
Andere Methoden zur IIS7-Umleitung von HTTP zu HTTPS:
- Umleitung von Http zu Https in ASP.NET
- Microsoft Support – Wie man eine HTTP-Verbindung zu HTTPS für Outlook Web Access-Clients umleitet und wie man die Standard-Website so umleitet, dass sie auf das virtuelle Exchange-Verzeichnis verweist
- IIS 6 Redirect HTTP to HTTPS
- Switching Between HTTP and HTTPS Like A Bigshot Hotshot
Originally posted on Sat Feb 27, 2010