Inhaltsverzeichnis

Apache: Proxy

Anwendung: mehrere selbstständige Web-Anwendungen auf selber IP und Port

Bsp.: auf einem Server soll sowohl ein „normaler“ Apache Webserver als auch das Kerio-Webfrontend auf Port 80 bzw. 443 laufen. Da das Kerio-Webfrontend als eigenständige Applikation läuft und nicht als Apache-Anwendung, reicht ein normaler namensbasierter virtueller Hosts 1) nicht aus.

Lösungsansatz:

Die magischen Zeilen in der Apache-Konfiguration sind:

        ProxyPass / http://kerio.example.com:81/
        ProxyPassReverse / http://kerio.example.com:81/

Beispiel: SSL-Weiterleitung an internen Service

Redmine ist auf http://vpn.strukturpunkt.de:8080/redmine/ installiert, soll aber von aussen mit SSL als https://strukturpunkt.de/redmine/ aufgerufen werden können.

NameVirtualHost strukturpunkt.de:80
<VirtualHost strukturpunkt.de:80>
...
        RewriteEngine   On
        RewriteRule     ^/redmine$       https://strukturpunkt.de:443/redmine/ [R]
        RewriteRule     ^/redmine/(.*)$  https://strukturpunkt.de:443/redmine/$1 [R]
</VirtualHost>

NameVirtualHost strukturpunkt.de:443
<VirtualHost strukturpunkt.de:443>
        DocumentRoot /var/www/StrukturPunkt.de
...
        RewriteEngine   On
        RewriteRule     ^/redmine$  https://strukturpunkt.de:443/redmine/ [R]
        # braucht: a2dismod proxy_balancer und a2dismod proxy
        ProxyPassMatch ^/redmine/(.*)$   http://vpn.strukturpunkt.de:8080/redmine/$1
        ProxyPreserveHost On
</VirtualHost>