HTTP auf HTTPS-Port

Für uns “Tekkies” ist das kein Thema, aber viele “normale” ;) Benutzer verwechseln gerne mal HTTP und HTTPS bei der Eingabe einer URL. Zum Glück kann OpenSSL erkennen, ob statt eines erwarteten SSL-Handshakes etwas eintrifft was eher nach einem “HTTP GET” ausschaut. Ist das der Fall, gibt OpenSSL die Fehlermeldung SSL_R_HTTP_REQUEST zurück.

So fängt LiveConfig in der nächsten Version (1.3) auch solche falschen Zugriffe ab und bietet dem Benutzer die “richtige” URL an. Ein kleines, aber praktisches Feature.

error400.png

Eventuell werden wir bei Gelegenheit auch einen Test einbauen, ob bei HTTP-Verbindungen ein SSL-Handshake eintrifft, um dann ebenfalls eine entsprechende Fehlermeldung zu erzeugen.

5 Bemerkungen zu “HTTP auf HTTPS-Port”

  1. Claudius

    Wäre es nicht Sinnvoller den Benutzer direkt auf https umzuleiten Anstand ihm eine Fehlermeldung zu präsentieren?

  2. Klaus Keppler

    Haben wir uns ursprünglich auch überlegt, aber vorerst dagegen entschieden.
    Der Benutzer soll auf seinen Fehler hingewiesen werden; außerdem erleichtert die Fehlermeldung eine eventuelle Fehlersuche bei falschen Proxy-/Firewall-Konfigurationen.

    Eine Idee wäre, einen “universellen” Port einzurichten, den man sowohl per HTTP als auch per HTTPS ansprechen kann. Nennenswerte Performancenachteile dürfte es nicht geben (per HTTP Keep-Alive wird die Verbindung ja sogar eine Zeit lang für viele weitere Requests offen gehalten).
    Mal schauen… :-)

  3. StefanF

    Richtet sich das an Endnutzer oder sind das technikaffinie Leute? Bitte auf eine nutzerfreundliche Fehlermeldung achten: Begriffe wie Bad Request, HTTP, HTTPS, SSL oder Port versteht nicht jeder. Wenn die Seite sowohl von Laien als auch Experten aufgerufen werden kann, sollte es m.E. sowohl eine laiengerechte Erklärung geben (”Sie haben versucht diese Seite unverschlüsselt aufzurufen. Klicken Sie hier für eine verschlüsselte Verbindung”), als auch - darunter - Geek-Speek (siehe oben).

    Generell finde ich es aber besser, keine Fehlermeldungen auszuwerfen wenn das System den Fehler selbst beheben kann. Wenn Du z.B. http://facebook.com eingibst, wirst Du automatisch auf https://facebook.com umgeleitet. Warum den Nutzer auf einen Fehler hinweisen?

  4. dermax

    Das ist aber sehr technisch gedacht. Ich kenne keine Seite, die bei einem HTTP-Request den Nutzer belehrt, dass die Applikation nur per SSL zur Verfügung steht. Entweder gibt’s per HTTP gar keine Antwort, oder es wird stillschweigend auf die SSL-Variante geleitet.
    Ich kenne das Problem übrigens von Webseiten, die nicht konsequent entweder HTTP oder HTTPS verwenden und damit inkonsistente Verweise in meiner Browserhistory erzeugen. In diesem Fall wäre z. B. der falsche HTTP-Link in meiner History - die Gefahr besteht, dass ich ihn immer und immer wieder aufrufe.

    PS:
    Die gleichen Nutzer, die nicht zwischen HTTP und HTTPS unterscheiden, sind für die Firewall-Konfiguration zuständig? ;-)

  5. Klaus Keppler

    @StefanF: danke noch mal für den Tipp, die Fehlermeldungen möchten wir bei Gelegenheit noch mal grundsätzlich überarbeiten (sowohl in die Sprache des Surfers übersetzen, als auch in “non-geek” :)
    Der Vergleich mit Facebook müsste aber eher so aussehen: http://facebook.com:443/ (HTTP-Zugriff auf einen HTTPS-Port). Ist nur dann ein häufigeres Problem, wenn die Dienste auf Nicht-Standard-Ports laufen (in unserem Fall eben 8443 statt 443).

    Es geht hier nicht darum ob man auf den falschen Port zugreift, sondern mit dem falschen Protokoll auf den richtigen Port. :)
    Praktisch kein Webserver und auch kein Browser gibt in diesem Fall eine Fehlermeldung aus, der Benutzer sieht einfach nur, dass es irgendwie “nicht funktioniert”. Und um aus dem Nähkästchen zu plaudern: nachdem eine Praktikantin bei uns LiveConfig auf einer virtuellen Maschine frisch installiert hat und öffnen wollte, ist auch ihr genau das passiert. Und aus diesem Grund ist LiveConfig nun noch ein kleines Stück benutzerfreundlicher geworden. Wieder eine Supportanfrage weniger, die zu beantworten sein würde.

Einen Kommentar schreiben