
Ich habe eine IIS7/WinServer2008-Konfiguration mit einem installierten Wildcard-SSL-Zertifikat (*.mydomain.com). Der Webserver enthält mehrere Websites, die alle so konfiguriert sind, dass sie über einen Host-Header von derselben IP-Adresse (nennen wir sie IP1) geroutet werden. Einige der Websites sind für die Verwendung von SSL konfiguriert, andere nicht.
Also habe ich...
a.mydomain.com -> SSL
b.mydomain.com -> non-SSL
c.mydomain.com -> SSL
d.mydomain.com -> non-SSL
e.mydomain.com -> non-SSL
usw...
Für die Beispielseiten A und C oben (die SSL-Seiten) wollte ich, dass Standard-HTTP-URLs auf HTTPS umgeleitet werden. Daher habe ich an der Wurzel von IIS (roter Pfeil) die Einstellungen für Fehlerseiten konfiguriert, indem ich einen benutzerdefinierten Statuscode von 403.4 hinzugefügt habe (die Einstellungen finden Sie unten).
Der Inhalt der Datei redirectHttpToHttps.htm ist ...
<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>
Dann habe ich für die Sites A und C die alten Bindungen durch eine SSL-Bindung (speziell an IP1 weitergeleitet) ersetzt und die SSL-Einstellungen auf „SSL erforderlich“ gesetzt.
Also funktioniert alles prima. Site A leitet weiterhttp://a.meinedomain.comZuhttps://a.meinedomain.comund Site C macht dasselbe.
Jetzt muss ich ein SSL-Zertifikat ohne Platzhalter in die Mischung einbringen. Dies ist für die Site, die an aaa.customerdomain.com gebunden ist. Also habe ich das Zertifikat zu meinem IIS-Server hinzugefügt und die Bindung der Site aaa.customerdomain.com geändert, um eine SSL-Bindung mit dem neuen Zertifikat und gegenüber einer neuen IP2 zu verwenden.
Wenn ich jetzt zuhttps://aaa.customerdomain.comfunktioniert alles super. Allerdings weiß ich nicht, wie ichhttp://aaa.customerdomain.comum zur SSL-Version weiterzuleiten.
Kann mir jemand dabei helfen, IIS richtig zu konfigurieren, damit das alles funktioniert?
Antwort1
Um verschiedene Arten von Umleitungen in IIS zu handhaben, versuchen Sie es mit dem URL-Rewrite-Modul
http://www.iis.net/downloads/microsoft/url-rewrite
Fügen Sie dann Folgendes in der Webkonfiguration pro Site für die Weiterleitung von http zu https hinzu:
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions><add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
Sie können dies auch mithilfe der GUI über die Schnittstelle des IIS-URL-Rewrite-Moduls erreichen: