Direkt zum Hauptbereich

SSL/https erzwingen mit IIS (Windows Server 2003)

Kürzlich musste ich eine Webapplikation rein über SSL (https, Port 443) zugänglich machen und eine automatische Weiterleitung an die sichere Adresse einstellen. Ich fragte mich, wie ich das machen könnte, ohne zwei virtuelle Websites zu erstellen.

Ich habe das auf folgende Weise bewerkstelligt. Unter Eigenschaften der Website im Reiter "Verzeichnissicherheit" im letzten Abschnitt "Sichere Kommunikation" den Bearbeiten-Knopf drücken und dort einstellen, dass SSL erforderlich ist (erste Checkbox). Achtung: Das bewirkt, dass alle http-(Port 80)-Anfragen einen HTTP-Fehler im Browser bewirken und zwar den Fehler mit dem Code 403;4 ("Forbidden SSL required"). Diesen Umstand kann man nun ausnützen, indem man eine benutzerdefinierte Fehlermeldung einstellt.

Dazu erstellen wir zuerst ein simples asp-Script

<%@ Language=VBScript %>
<%
If Request.ServerVariables("SERVER_PORT")=80 Then
   Dim strSecureURL
   strSecureURL = "
https://"
   strSecureURL=strSecureURL & Request.ServerVariables("SERVER_NAME") & "/"
   Response.Redirect strSecureURL
End If
%>

und nennen es "jumpssl.asp". Wir müssen es außerdem in einen eigenen Ordner (z.B. "redirect") legen, da wir später eine kleine Änderung an den Sicherheitsseinstellungen des Ordners vornehmen müssen.

Unter "Benutzerdefinierte Fehler" der Website den Fehler 403;4 bearbeiten und dort "URL" auswählen und die URL "/redirect/jumssl.asp" eintragen. Das bewirkt, dass statt dem Fehler dem Browser eine Weiterleitung gesendet wird.

Wir dürfen nicht vergessen, für das Verzeichnis "redirect" das Häkchen "SSL erforderlich" in der Verzeichnissicherheit zu entfernen. Ansonsten schickt IIS auch eine 403;3-Fehlermeldung, wenn die jumpssl.asp Seite ausgeführt werden soll.

Der beschriebene Mechanismus sollte sowohl mit ASP.NET als auch unter klassischen ASP funktionieren.

Kommentare

Anonym hat gesagt…
Jetzt darfst du nur hoffen, dass kein User die Anwendung verwendet, der sowas wie Norton Internet Security, Outpost oder ähnliches Zeug verwendet - dann bekommst du bei Request.ServerVariables nämlich nix raus, weil das einfach geblockt wird.

Ein Restrisiko bleibt also.

Beliebte Posts aus diesem Blog

Wo liegt die Lost-Insel?

Ein guter Kandidat für den Ort (nicht die Zeit) der Lost-Insel ist die Rotuma-Insel im Südpazifik , die zu Fiji gehört. Die Insel hat auch eine kleine Nachbarinsel, die genau wie in der dritten Staffel von Lost gezeigt (Hydra-Station), ein wenig abseits liegt. Auch die Form deutet darauf hin, dass genau dies die richtige Insel ist. Im offiziellen Lost-Internet-Spiel "Find815" werden Koordination verraten, die - astronomisch, sprich verkehrt interpretiert - die Position der Insel Rotuma angeben. Fragt sich also nur, warum die Insel unbewohnt ist? Dieser Umstand könnte darauf hindeuten, dass die Insel sich entweder in einer anderen zeit (Vergangenheit, Zukunft) oder in einem Paralleluniversum befindet.

Serverseitige Kommentare in ASP.NET

Wer einen Code-Block in der HTML/XML-Ansicht in aspx-Seiten oder ascx-Controls kommentieren möchte, kann dies mit folgenden Zeichenfolgen machen: <%-- Auskommentiertes HTML/CODE/Markup. Alles innerhalb dieses Blockes wird von ASP.NET nicht geparst oder kompiliert. <%# Eval(“SomeProperty”) %> --%> Sehr hilfreich, wenn man das weiß und anwenden kann. Normale HTML-Kommentarzeichen haben den großen Nachteil, im Quellcode des Browsers aufzuscheinen.

E-Ink Reader Hardware

Seit vielen Jahren träume ich von einem portalen Gerät, mit dem man Bücher und andere Texte bequem überall abrufen und lesen kann. Die wichtigsten Wunsch-Eigenschaften für ein E-Book-Reader: Anzeige als "elektronisches Papier" (E-Ink): Auch bei Sonnenlicheintrahlung perfekt lesbar, hohe Auflösung - kaum von Papierdrucken zu unterscheiden, kein Energieverbrauch (nur beim Laden des Inhalts) geringes Gewicht Unterstützung von möglichst vielen Formaten (PDF, HTML, reiner Text, etc.) durchdachte Bedienung WiFi-Anbindung ansprechendes Design austauschbare und erweiterbare Speichermedien (Flash-Karten) hohe Akku-Lebenszeit Hier eine Übersicht der heute (März 2007) verfügbaren kommerziellen Produkte: Sony Reader PRS-500 Eckdaten Display 6" (15,25 cm) E-Ink Auflösung 800 x 600 (ca 170 dpi) Farben 4 Graustufen Maße 17,6 x 12,4 x 1,4 cm Gewicht 250 g (ohne Softcover) Formate BBeB Book, PDF, TXT, RTF, JPEG, MP3 Preis ca. 300 Euro (März 2007) Links: Offizielle Sony-Website Sony