Backend/SSL, mehrere Domains, aber nur 1 IP

  • Hallo liebe Wortdrücker_innen!

    Vor Kurzem habe ich zwei Installationen von WP 3.0.1 auf einem Server gemacht und eine dritte kommt wahrscheinlich noch dazu. Umgebung: Debian/Lenny mit Apache und einer festen IP.

    Problem: Ich möchte gerne, dass Anmeldungen mit Passwort mit SSL gesichert sind. Nun kann man, https-Protokoll sei Dank, nur eine Domain pro IP mit SSL sichern. (Wildcards sind keine Option.)

    Nun habe ich eine naive Idee mit 302-Weiterleitungen. Angenommen [FONT=Courier New]http://blog.beispiel.de/[/FONT] sei ein Blog, das ich sichern will. [FONT=Courier New]https://ssl.example.com/[/FONT] sei eine Domain, für die ich ein SSL-Zertifikat habe. In der [FONT=Courier New]httpd.conf[/FONT] von Apache könnte ich mittels Alias in der VirtualDomain von [FONT=Courier New]ssl.example.com[/FONT] das Blog zusätzlich unter [FONT=Courier New]https://ssl.example.com/blogs/blog.beispiel.de/[/FONT] erreichbar machen. Dann leite ich per 302-Weiterleitung in der VirtualDomain von [FONT=Courier New]blog.beispiel.de[/FONT] die Anfragen an [FONT=Courier New]wp-login.php[/FONT] und [FONT=Courier New]wp-admin/[/FONT] auf die SSL-gesicherte Domain um. Das könnte dann so ähnlich aussehen wie:

    Code
    ServerName blog.beispiel.de
    # [...]
    <Location />
    RedirectMatch permanent ^/(wp-login.php|wp-admin)(.*) http://ssl.example.com/blogs/blog.beispiel.de/$1$2
    # aus dem Kopf hingeschrieben, evtl. nicht korrekt!
    </Location>

    So weit, so gut. Aber zickt WP dann rum wegen URL-Husten? Oder gäbe es eine bessere Lösung?

    Über Multisite-Plugins bin ich gestolpert; mir wäre aber nicht klar, ob's das Problem nicht tangiert, nur verschiebt oder elegant lösen könnte. *Allerdings* möchte ich eigentlich keinen echten Multisite-Support, weil meine "Kunden" (Freunde) möglichst unabhängig mit ihren Installationen verfahren sollen, wie sie lustig sind.

    Ideen? Stirnrunzeln?

    Liebe Grüße,
    Johannes

    PS: Von UNIX und Apache habe ich Ahnung, nicht jedoch von PHP und Wordpress ist für mich völlig neu. ;)

    Einmal editiert, zuletzt von Johannes Bohse (28. August 2010 um 16:07)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren


  • In der [FONT=Courier New]httpd.conf[/FONT] von Apache könnte ich mittels Alias in der VirtualDomain von [FONT=Courier New]ssl.example.com[/FONT] das Blog zusätzlich unter [FONT=Courier New]https://ssl.example.com/blogs/blog.beispiel.de/[/FONT] erreichbar machen.

    Verwende einen SSL-Proxy
    http://serversupportforum.de/forum/faqs-anl…-ssl-proxy.html


    PS: Von UNIX und Apache habe ich Ahnung, nicht jedoch von PHP und Wordpress ist für mich völlig neu.

    Wordpress prüft mit den Funktionen
    wp-login.php

    PHP
    if ( force_ssl_admin() && !is_ssl() ) {

    ob eine Verbindung unter SSL Verschlüsselung vorhanden ist.

    cu

    ralf

    Mit offenen Augen träumen

  • Hallo!

    Das sieht relativ kompliziert aus, aber vielleicht nicht komplizierter als meine erste Idee und setzt das Gleiche um.

    Allerdings verstehe ich noch nicht, wie WP weiß, dass es eine alternative URL gibt, unter der es mit SSL erreichbar ist, um dann das Login dort hin zu wechseln.

    Danke!
    Jo


  • Das sieht relativ kompliziert aus

    was ist kompliziert?

    Der SSL läuft auf Port 443 - durch deine 302 Weiterleitung verläßt du den Port 443 und landest auf den ungesicherten "üblichen" Port 80.

    Vor diesem Hintergrund benötigst du einen VirtualHost auf Port 443 mit dem SSL Zertifikat. mmh...



    Allerdings verstehe ich noch nicht, wie WP weiß, dass es eine alternative URL gibt, unter der es mit SSL erreichbar ist, um dann das Login dort hin zu wechseln.

    Du richtest eine unter SSL Verschlüsslung erreichbare Domain auf dem SSL Proxy ein.

    Wenn diese Funktioniert rufst du eine php_info.php mit dem
    Inhalt auf

    PHP
    phpinfo()

    unter den PHP Variables solltest du etwas finden, was dir anzeigt, dass PHP deine SSL Verschlüsselung erkennt.

    PHP Scripte kennen keine alternative URLs - diese muss man konfigurieren oder hinterlegen. PHP kann maximal erkennen, ob eine SSL Verschlüsselung beim Aufruf vorhanden ist und diese Verschlüssung halten...

    Die SSL Erkennung läuft über den Port 443, oder HTTPS = 1 pp = ON
    oder vergleichbarem.

    Die Konfiguration, damit WP SSL kann steht im Hamdbuch
    http://codex.wordpress.org/Administration_Over_SSL

    hth

    ralf

    Mit offenen Augen träumen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!