Andreas: Weiterleitung von https:// nach http:// ?

Hallo,
ich suche einen Weg wie ich es hinbekomme das wenn man eine URL mit https:// aufruft, der sichere Modus ist aber nicht eingerichtet, eine Weiterleitung auf http:// erfolgt.
Mit einer .htaccess und Weiterleitung bei 404 Fehler habe ich versucht funktioniert aber nicht.

Vieleicht könnt ihr mir dabei weiterhelfen? Aber nicht sagen ich soll den sicheren Modus einrichten, Domain liegt bei Puretec.

MfG. Andreas

  1. Moin,

    Mit einer .htaccess und Weiterleitung bei 404 Fehler habe ich versucht funktioniert aber nicht.

    Vieleicht könnt ihr mir dabei weiterhelfen? Aber nicht sagen ich soll den sicheren Modus einrichten, Domain liegt bei Puretec.

    Was willst Du wissen?
    Was hast Du mit puretec SSL Proxy oder die richtige verschlüsselung?
    Warum willst Du den sicheren Modus nicht einrichten?
    Und überhaupt was möchtest Du damit erreichen?

    TomIRL

    1. Hallo,
      es geht darum das ich mir einen Domain geholt habe die es schoneinmal gab. Nun ist diese auf anderen Seiten mit https:// verlinkt und ich habe den sicheren Zugang nicht und würde gerne die User zu meiner Seite weiterleiten.

      Andreas

      1. Hallo!

        es geht darum das ich mir einen Domain geholt habe die es schoneinmal gab. Nun ist diese auf anderen Seiten mit https:// verlinkt und ich habe den sicheren Zugang nicht und würde gerne die User zu meiner Seite weiterleiten.

        Tja, das geht nur wenn es einen Server gibt der für https://deinedomain.de verantwortlich ist. Wenn es das nicht gibt, dann hast Du keinen Einfluss darauf. Dazu kommt dann noch, wenn Du kein von einer offiziellen CA signierts SSL-Zertifikat hast (kostet Geld), bekommst Du keine reibungslose Weiterleitung hin, da vor der Weiterleitung erst die https-Verbindung aufgebaut werden muss, und wenn Du kein aus Sicht des Browsers entsprechend gültiges Zertifikat hast, bekommt der User erstmal vom Browser die Meldung, dass das Zertifikat nicht gültig ist und dass man dem Server nicht vertrauen kann, sowas wie hier z.b: https://www.ccc.de/

        Dazu kommt - wenn Du ein richtige Zertifikat willst brauchst Du eine eigene, feste IP, das heißt Du brauchst entweder ein teures Hosting-Paket wo sowas möglich ist, oder einen eigenen, dedizierten Server.

        Grüße
        Andreas

        1. Hallo,
          danke für die Erklärung, jetzt weiß ich wenigstens wie das genau funktioniert. Ich habe mal bei Puretec geschaut aber die bieten das nur so an:
          https://ssl.kundenserver.de/meine domain.de/ und das sollte nicht funktionieren.

          Aber trotzdem vielen Dank für die Antworten.

          MfG. Andreas

          1. https://ssl.kundenserver.de/meine domain.de/ und das sollte nicht funktionieren.

            »
            Nein Puretec bietet auch richtige SSL Zertifikate an..

            TomIRL

  2. Hallo!

    ich suche einen Weg wie ich es hinbekomme das wenn man eine URL mit https:// aufruft, der sichere Modus ist aber nicht eingerichtet, eine Weiterleitung auf http:// erfolgt.
    Mit einer .htaccess und Weiterleitung bei 404 Fehler habe ich versucht funktioniert aber nicht.

    Vieleicht könnt ihr mir dabei weiterhelfen? Aber nicht sagen ich soll den sicheren Modus einrichten, Domain liegt bei Puretec.

    Tja, Du kannst nur sowas einrichten wenn Du Zugriff auf den Webserver hast der einen https-Request empfängt. Wenn Deine Domain überhaupt nicht per HTTPS erreichbar ist, geht das leider nicht. Für https muss der Server entsprechend konfiguriert sein, und hört hierbei einen ganz anderen Port ab als bei http. Du müsstest die weiterleitung genau da konfigurieren wo ein https-request ankommt. Wenn der Server aber gar kein https anbietet, dann kommt der Request des Browsers gar nicht bis zum Webserver, da das Betriebssystem des Servers ihm sagt "sorry, hier gibts niemanden der sich für https zuständig fühlt..." und dann gibt der Browser ne Fehlermeldung aus.

    Grüße
    Andreas

  3. Hallo,
    versuche es mal mit einer REWRITE-Regel. Dafuer musst Du wissen wie REWRITE funktioniert und Du brauchst REGULAR EXPRESSIONS.

    Zum Beispiel so:

    ----------------

    RewriteEngine on
    RewriteCond %{SERVER_PORT} =443
    RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI}

    ----------------

    ... damit werden alle Anfrage-Strings, die auf Port 443 (SSL) einlaufen komplett geloescht und neu geschrieben (mit "http:" am Anfang). Viellecht ist es in Deinem Fall besser, bei der "RewriteCond" keine Abfrage auf den Port zu machen (denn der ist wahrscheinlich gesperrt), sondern einfach zu Fragen, ob der Anfrage-String mit "https" beginnt. Wie die Condition dann aussieht weiss ich leider nicht auswendig, vermutlich irgendwas mit "RewriteCond ^/https/" - schlag' das lieber nochmal nach.

    Nochwas zu den Zertifikaten:
    Es gibt keine richtigen oder flaschen Zertifikate - es gibt nur mehr oder weniger vertrauenswuerdige Zertifikate.
    Du kannst Dir ein Zertifikat selbst erstellen, ob es die andere Seite als vertrauenswuerdig einstuft oder nicht, bleibt ihr selbst ueberlassen.
    Ein "echtes" Zertifikat von einer CA wie VeriSign wird automatisch als vertrauenswuerdig eingestuft, weil dies im Browser als vertrauenswuerdig voreingestellt ist. Lediglich die (einmalige) Abfrage, ob man dem Z. vertrauen will, entfaellt dann.
    Es SOLLTE aber bald ein ganz normaler Vorgang sein, dass man auch Z. von Nicht-CAs akzeptiert - im Moment bekommt man jedenfalls erstmal einen Schreck, wenn so eine Meldung auftaucht, wie "Achtung, Seite ist nicht vertrauenswuerdig!", da denkt man ja gleich an einen Virus oder einen Dialer ...

    Fuer die REWRITE-Regel brauchst Du jedenfalls kein Zertifikat, denn die Anfrage wird vom Webserver geaendert, bevor eine Seite ausgeliefert wird und somit kommt es gar nicht zu einem Austausch von Zertifikaten. (Zumindest, wenn Du alles richtig machst.)

    ACHTUNG!
    So eine REWRITE-Regel kann unangenehme Seiteneffekte haben - das haengt von der sonstigen Server-Konfiguration ab!

    Ich hoffe, das war hilfreich!
    Gruss,
    Jan

    1. Hallo,
      muß ich die 3 Zeilen in die .htaccess einfügen? Wenn ja hat es ersteinmal nicht funktioniert, aber ich werde dran bleiben....

      Mit Zertifikaten kenn ich mich überhaupt nicht aus. :(

      Andreas

    2. Hallo!

      versuche es mal mit einer REWRITE-Regel. Dafuer musst Du wissen wie REWRITE funktioniert und Du brauchst REGULAR EXPRESSIONS.

      Lies mal http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html#Internal

      und bedenke dabei, dass SSL zwischen HTTP und TCP liegt, das heißt der Webserver kann auf den HTTP-Request überhaupt erst zugreifen, wenn die SSL-Verbindung steht.

      Nur weil Du auch nach Ports filtern kannst, heißt dass nicht dass vorher nicht der Request geparst sein muss, eben aufgrund der Architektur des Apachen.

      Du könntest ja z.B. für verschiedene Verzeichnisse oder vhosts unterschiedliche Rewrite-Rules definieren... und das kann der Apache erst zuordnen, wenn der Request geparst ist.

      Und wenn für die IP wie in diesem Fall der Port 443 gar nicht offen ist, bringt jede weitere Überlegung in diese Richtung sowieso nichts ;-)

      Grüße
      Andreas