ProxyPassReverse Drop HTTPS

Auf meinem Heim-Netzwerk, ich habe einen web-server und einen DNS-server. Ich habe verschiedene andere Anwendungs-Server, die habe ich Hinzugefügt, Weiterleitungen, so kann ich Sie einfach besuchen Sie Websites wie myapplication.domain.com oder www.domain.com/application zu bekommen, um meine verschiedenen Dienstleistungen. Ich habe einen Subsonic-server läuft auf einem anderen server, und mein Ziel ist es, in der Lage sein besuchen Sie https://subsonic.domain.com und mein Subsonic-Verkehr diente über SSL auf meinem web-server. Schließlich hoffe ich, dass der Zugriff auf diese von außerhalb der Heimat, die ist, warum es wichtig ist, als proxy für die nicht gesicherte HTTP-Datenverkehr über HTTPS, aber für jetzt, ich versuche nur, um es arbeiten zu Hause.

Wenn ich Besuch https://subsonic.domain.com ich am Ende immer ein "Verbindung nicht möglich" - Fehler. Die Adresse, die ich zu sein scheinen umgeleitet wird subsonic.domain.com/login.view. Wenn ich tack HTTPS auf der Vorderseite, URL, bekomme ich die login-Seite hab ich gesucht. Sobald ich wieder einloggen, aber die URL ändert, ich bin umgeleitet, und ich am Ende verlieren die HTTPS wieder ein erneut hinzufügen. Offensichtlich mache ich etwas falsch.

Habe ich einen VirtualHost für subsonic.domain.com und versuche, mit ProxyPass und ProxyPassReverse zu bekommen, der Verkehr umgeleitet, in der Art, wie ich will. Hier ist mein VirtualHost für diese Website:

    <VirtualHost subsonic.domain.com:443>

        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*[^/])$ /$1/[L,R=301]

        ProxyRequests Off
        ProxyErrorOverride Off
        ProxyPreserveHost On

        ServerAdmin webmaster@localhost

        ProxyPass /http://192.168.1.5:4040/
        ProxyPassReverse /http://192.168.1.5:4040/

        SSLEngine on

        SSLCertificateFile      /etc/apache2/ssl/apache.crt
        SSLCertificateKeyFile   /etc/apache2/ssl/apache.key

    </VirtualHost>

SSL ist definitiv und läuft ohne problem. Ich habe ein identisches virtualhost für ein anderes Verzeichnis, das funktioniert gut (Weiterleitungen auf https://www.domain.com/directory), also ich bin mir nicht sicher, was das problem hier ist. Nach der ProxyPassReverse, die URL scheint nur zu sein, verlieren die https:// Teil. Wenn ich es in die Website funktioniert gut, bis ich eine andere Seite besuchen und https:// wieder verloren geht. Wenn ich besuchen Sie den Anwendungsserver direkt an http://192.168.1.5:4040 habe ich keine Probleme überhaupt.

Jede Beratung wäre sehr zu begrüßen.

BEARBEITEN

Ein wenig Aufklärung über das, was ich versuche zu tun. Ich möchte meinen Apache-server zu tun all meine Weiterleitung und Handhabung alle meine SSL-Anforderungen. Im Grunde, aus dem browser auf den Apache-server HTTPS, die ProxyPass vom Apache-server an den application server uns eine unverschlüsselte HTTP (was in Ordnung ist, dies ist mein internes Netzwerk), die ProxyPassReverse von der application server der Apache-server ist plain-HTTP -, dann den Apache-server sendet, die den Verkehr als HTTPS.

Hier ist ein weiterer VirtualHost, das ist, was ich will für eine andere sub-Domain. Dies ist getestet und funktioniert zu 100%. Ich eine Verbindung zu meinem Apache-server über HTTPS, Apache-server eine Verbindung zu meiner ownCloud-server in plain old HTTP, die Antwort auf meinen Apache-server plain-HTTP -, dann den Apache-server gibt die Anfrage in HTTPS an den browser:

<VirtualHost www.domain.com:443>

            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*[^/])$ /$1/[L,R=301]

            ProxyRequests Off
            ProxyErrorOverride Off
            ProxyPreserveHost On

            ServerAdmin webmaster@localhost

            ProxyPass /owncloud/http://192.168.1.251/owncloud/
            ProxyPassReverse /owncloud/http://192.168.1.251/owncloud/

            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined

            SSLEngine on

            SSLCertificateFile      /etc/apache2/ssl/apache.crt
            SSLCertificateKeyFile   /etc/apache2/ssl/apache.key

</VirtualHost>
Ihre subsonic-backend nicht das senden von verschlüsselten traffic bereits, nicht wahr? Ich bin verwirrt, weil ich nicht denken kann, warum Sie wollen, zu geben unterschiedliche Protokolle auf ProxyPass und -Reverse .
Nein, der Subsonic-back-end dient plain-HTTP. Ich versuche nicht, um anzugeben, die verschiedene Protokolle für den ProxyPass und das Gegenteil von dem, was ich verstehe, Sie beide sollten HTTP. Ich poste meine anderen virtualhost, wenn ich eine minute. Es ist fast identisch mit der obigen. Es geht HTTP der Applikations-server und sendet diese als HTTPS.
Ich denke, Sie würde wollen, dass http:// auf beiden ProxyPass-und -Rückwärts-dann, und SSL werden entfernt auf der Apache-Schicht.
Ich glaube, das ist richtig, das ist, wie es funktioniert auf meinem anderen VirtualHost. Ich habe gerade meinem ursprünglichen post bearbeitet, um zu zeigen, ein Beispiel dieser Arbeit und Klarstellung, was ich Suche.
Ulrich, sorry für die Verwirrung, ich wusste nicht, ich hatte https:// in Umgekehrter in meinem post. Ich hatte die https:// auf der Rückseite für Testzwecke hatte aber seit entfernt. Auch mit http:// auf die ProxyPass-und der Rückseite, es funktioniert immer noch nicht. Ich habe editiert meinem ursprünglichen post.

InformationsquelleAutor Patrick Tucci | 2014-06-22

Schreibe einen Kommentar