Hi,
On Wednesday 08 August 2012 14:22:21 Ronny Seffner wrote:
ich habe einen Webserver, den ich gern hinter SSL "verstecken" will. Dazu versuche ich mich an apache2 als reverse proxy. Dabei habe ich leider ein Problem mit Links innerhalb der gelieferten Webseite: die gelieferten Links referenzieren auf bsm.external.tld und damit nicht mehr HTTPS, das "set ClientProtocol" scheint überhaupt nicht zu wirken, schalte ich ProxyPreserverHost ab, ändert sich der FQDN zur lokalen IP - das hat also nichts mit dem Protokoll zu tun. Muss ich jetzt noch etwas mit mod_rewrite machen, was?
Mein augenblicklicher - also oben beschriebener Stand:
<VirtualHost _default_:20443>
Warum machst Du HTTPS auf Port 20443? Das ist relativ unüblich.
DocumentRoot /var/www/reverse ServerName bsm.external.tld:20443 ServerAdmin webmaster@localhost
Ganz böser Webmaster. Bitte eine richtige Mailadresse nehmen.
ProxyRequests Off ProxyPreserveHost On SSLEngine On
Ok
ProxyPass / http://192.168.100.5/
Nimmt Requests entgegen und schiebt sie weiter auf den Zielhost.
ProxyPassReverse / http://192.168.100.5/
Schreibt die Header um, so dass der Zielhost sie auch wiedererkennt.
RequestHeader set ClientProtocol https
Brauchst Du nicht, ist Apache-intern.
ErrorLog ${APACHE_LOG_DIR}/bsm-error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/bsm-access.log combined SSLCertificateFile /etc/apache2/ssl.wildcard_external_tld/crt SSLCertificateKeyFile /etc/apache2/ssl.wildcard_external_tld/key SSLCertificateChainFile
/etc/apache2/ssl.wildcard_external_tldde/pem SSLCACertificateFile /etc/apache2/ssl.wildcard_external_tld/ca.pem </VirtualHost>
Ok.
Du hast keine einzige Zeile, die Inhalte umschreibt. Das kannst Du z.B. mit lerewrite machen:
LERewriteRule http://192.168.100.5 https://bsm.external.tld:20443
Konrad