it-swarm.com.de

Proxying mit SSL

Ich habe einen Linux-Host mit Apache und einen Windows-Host mit IIS. Ich habe eine Domäne, die auf den Linux-Host verweist, und muss Anfragen für diesen Proxy an IIS weiterleiten. Ich habe also die folgende virtuelle Hostdefinition in Apache (die problemlos funktioniert):

<VirtualHost 192.168.0.2:80>
    ServerName www.acme.com
    DocumentRoot /var/www/acme.com

    RewriteEngine On
    RewriteOptions Inherit
    RewriteRule ^/(.*) http://win.acme.com/$1 [P]
</VirtualHost>

jetzt möchte ich SSL-Unterstützung hinzufügen; Die Definition wird zu:

<VirtualHost 192.168.0.2:443>
    ServerName www.acme.com
    DocumentRoot /var/www/acme.com
    GnuTLSEnable On
    GnuTLSPriorities NORMAL:%COMPAT
    GnuTLSCertificateFile /var/www/ssl/www.acme.com.crt
    GnuTLSKeyFile /var/www/ssl/www.acme.com.key

    RewriteEngine On
    RewriteOptions Inherit
    RewriteRule ^/(.*) https://win.acme.com/$1 [P]
</VirtualHost>

Ich habe gültige und vertrauenswürdige Zertifikate auf beiden Webservern, und wenn ich https://win.acme.com besuche, ist alles in Ordnung, aber wenn ich https://www.acme.com besuche, erhalte ich die Meldung 500 Internal Server Error. Ein Blick auf die Fehlerprotokolle zeigt:

[Mi 20 Jul 08:35:34 2011] [Fehler] [Client 76.168.166.70] SSL Proxy angefordert für www.wileybits.com:80, aber nicht aktiviert [Hinweis: SSLProxyEngine] [Mi 20.07. 08:35:34 2011] [Fehler] Proxy: HTTPS: Fehler beim Aktivieren der SSL-Unterstützung für 74.166.186.70:443 (win.acme.com)

beachten Sie, dass die Proxy-Anfrage anscheinend für die falsche Domäne (wileybits) gilt. Die angezeigte Domäne wird ebenfalls von meinem Apache-Server gehostet. Ich verstehe jedoch nicht, warum sie in den Protokollen von acme.com angezeigt wird (umgekehrt) DNS-Lookup vielleicht?)

was fehlt mir auf jeden Fall?

danke im voraus - ekkis

p.s. Hostnamen und Adressen wurden geändert, um die Unschuldigen zu schützen :)

* Update *

mit:

RewriteRule ^/(.*) https://win.acme.com/$1 [R,L]

es scheint gut zu funktionieren, aber natürlich wird der Hostname von Windows sichtbar, was in meinem Szenario nicht akzeptabel ist

Ich habe auch versucht (anstelle von mod_rewrite):

ProxyRequests Off
ProxyPass / https://win.acme.com/

aber derselbe Fehler

41
ekkis

habe es herausgefunden ... anscheinend kann ich das tun:

SSLProxyEngine On
RequestHeader set Front-End-Https "On"
ProxyPass / https://win.acme.com/
ProxyPassReverse / https://win.acme.com/
CacheDisable *

und es funktioniert gut!

[Die Lösung kam von Mikegs Posting auf 3cx.org]

80
ekkis

Die Ursache für diesen Fehler ist nicht sicher, Sie sollten jedoch versuchen, Squid oder Varnish zu verwenden. Bisher habe ich Squid verwendet, um eine sichere Windows IIS -Instanz ohne Probleme zu vertreten.

0
Will Bonde