Hat man sich als Administrator dazu entschieden ein SSL-Zertifikat für seinen Webauftritt zu installieren, so ergibt sich im Anschluss oftmals ein praktisches Problem: Die Verbindung wird zwar beim Aufruf der Webseite per https://www.domainname.de korrekt verschlüsselt, aber letztlich tippt ja in der Praxis kein Besucher zusätzlich das Protokoll in die Adressleiste seines Browsers mit ein. Somit ist der Nutzen des Zertifikates hier zunächst nur sehr begrenzt, denn die meisten Besucher werden auch weiterhin auf der unverschlüsselten http-Variante landen. Um das Problem zu lösen muss daher eine automatische Umleitung her, welche jeden Aufruf der Domain pauschal auf die https-Variante umlenkt.
Wer ein wenig recherchiert, der trifft dabei schnell auf unzählige Anleitungen, welche einem diverse Stichworte wie .htaccess oder mod_rewrite an den Kopf werfen. Diese Hinweise sind bei einem Windows-System jedoch nur begrenzt hilfreich. Dummerweise gehen viele dieser Anleitungen einfach pauschal davon aus, dass für Webhosting grundsätzlich immer Linux-Systeme mit Apache-Webservern genutzt werden. Auf einem Windows System mit dem IIS-Webserver müssen Sie jedoch ein wenig anders vorgehen. Ob es sich dabei um ein System mit oder ohne Plesk handelt spielt in diesem Zusammenhang keine Rolle.
Um die beschriebene Umleitung zu realisieren müssen wir uns des IIS-Rewrite-Plugins bedienen. Dieses ist kein fester Bestandteil der Standardinstallation, daher muss es zuvor manuell von Microsoft heruntergeladen und installiert werden:
https://www.iis.net/learn/extensions/url-rewrite-module/using-the-url-rewrite-module.
Bei Plesk Systemen wird das IIS-Plugin hingegen bereits standardmäßig mitgeliefert.
Möglichkeit 1: Konfiguration per web.config Datei
Nachdem die Installation erfolgt ist müssen wir eine entsprechende Regel definieren. Dazu muss im Hostingverzeichnis der Domain zunächst eine Datei namens web.config angelegt werden. In diese Datei sollte im Anschluss folgender Code eingefügt werden:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="https-Umleitung" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
Aber Vorsicht! Existiert hier bereits eine web.config Datei, so sollten Sie diese keinesfalls einfach überschreiben. Öffnen Sie diese dann mit einem Editor und prüfen Sie, ob dort evtl. bereits andersweitige Regeln definiert sind. Insbesondere Applikationen wie WordPress hinterlegen hier gerne automatisiert entsprechende Rewriting-Regeln zur SEO-Optimierung. Ein einfaches Überschreiben der Datei würde daher in vielen Fällen bei Ihren Webapplikation Probleme verursachen. Sind also bereits entsprechende Regelsätze vorhanden, so müssen Sie den „rule“-Block aus dem oben stehenden Codebeispiel in Ihre web.config Datei integrieren.
Möglichkeit 2: Manuelle Konfiguration im IIS-Manager
Sofern Sie unsicher sind gibt es aber auch noch einen alternativen Weg. Öffnen Sie dazu auf dem Desktop Ihres Servers den IIS-Manager. Wählen Sie dort in der linken Navigation die passende Webseite aus und doppelklicken Sie dann im rechten Fenster auf das Element „URL Rewrite“. Legen Sie hier dann eine neue Regel an (Rechte Seite -> „Add Rule(s)“ -> „Blank rule“ -> „OK“). Dieser geben Sie im ersten Eingabefeld einen passenden Namen und tragen dann in den weiteren Feldern folgende Werte ein:
Bereich „Match URL“:
Requested URL: Matches the Pattern
Using: Regular Expressions
Pattern: (.*)
[✓] Ignore Case
Bereich „Conditions“:
Logical grouping: Match All
Hier einmal auf „Add…“ klicken:
Condition Input: {HTTPS}
Check if input string: Matches the Pattern
Pattern: (Feld leer lassen)
[✓] Ignore Case
Bereich „Action“:
Action type: Redirect
Redirect URL: https://{HTTP_HOST}{REQUEST_URI}
[ ] Append Query String
Redirect Type: Permanent (301)
Sind die beschriebenen Parameter alle korrekt eingestellt, so können Sie die Regel mit einem Klick auf „Apply“ (oben rechts in der Navigation) anlegen lassen. Sie haben somit faktisch dasselbe wie in der oben beschriebenen Variante mit der manuell geschriebenen web.config erreicht, denn dieses Tool macht im Prinzip nichts anderes als die Formulareingaben in ein entsprechendes Kommando umzuwandeln. Wenn Sie jetzt nochmals einen Blick in Ihre web.config werfen, so werden Sie auch feststellen, dass die Regel dort erwartungsgemäß eingepflegt wurde.
Im Kern lässt sich die angelegte Regel folgendermaßen beschreiben: Ruft ein Besucher Ihre Seite per http auf, so wird dieser umgehend wieder auf die identische Adresse – aber mit einem vorangestellten https – umgeleitet. Ruft ein Besucher die Webseite hingegen direkt per https auf, so greift keine Regel, entsprechend passiert auch nichts.