HTTPS / SSL auf einer Website erzwingen

Den Besucherverkehr vom HTTP-Protokoll auf die HTTPS-Version einer Website zur Nutzung von SSL umzuleiten ist ganz einfach.

Die folgende Methode funktioniert nicht nur mit Microsoft Azure Web Services App, sondern auch mit jeder anderen Website, die auf einem Microsoft IIS (Internet Information Server) Webserver läuft. Bei vielen Kunden setzen wir diese Variante ein, um den Datenverkehr im Internet sicherer zu machen und HTTPS-SSL-Zertifikate sinnvoll zu nutzen. Denn in vielen unserer Hosting-Pakete sind einfachere SSL-Zertifikate für den www-Webserver bereits inklusive enthalten.

HTTPS bzw. SSL aktivieren

Nachdem es innerhalb des Azure Portals keinen Schalter oder keine Option gibt, um den verschlüsselten Datenverkehr zu erzwingen, wird eine web.config Datei im Stammverzeichnis der Web-App angelegt. Das geht am einfachsten über die in Azure integrierte App Kudu, die in jeder WebApp über erreichbar ist. Dort findet man unter Debug Console -> CMD einen Zugriff auf die Verzeichnisstruktur.

Kudu

Unter dem Ordner site\wwwroot\ wird nun eine neue Datei web.config angelegt und mittels dem in Kudu integrierten Editor bearbeitet.

Der Inhalt von web.config:

<configuration>
<system.webServer>
<rewrite>
    <rules>
	<rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
	<match url="(.*)" /> 
	<conditions> 
		<add input="{HTTPS}" pattern="off" ignoreCase="true" />
	</conditions> 
	<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
      </rule>   
    </rules>
</rewrite>
</system.webServer>
</configuration>

Damit wird, unabhängig von der im hostheader eingegebenen Domain, der Datenverkehr auf die HTTPS-Variante umgeleitet.

Wir nutzen dieses Verfahren selbst bei einigen Kunden, die ausschließlich auf SSL-verschlüsselten Webzugriff setzen.

Schreibe einen Kommentar