ubuntuusers.deWikiApachemodproxyhtml

modproxyhtml

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

mod_proxy_html {en} ist ein Ausgabefilter, der HTML-Links so umschreiben kann, dass mehrere Webserver nahtlos miteinander kombiniert werden können.

So kann z.B. ein 2. Webserver (welchen z.B. Dienste wie ejabberd bereitstellen) unter http://server/ejabberd erreicht werden, obwohl der 2. Webserver auf der IP 127.0.0.1 und dem Port 5281 läuft. Die Hauptaufgabe (und damit der Unterschied zum "normalen" mod_proxy) besteht darin, dass das übertragene HTML so modifiziert wird, dass alle Links mit der veränderten Situation klar kommen.

Hier eine grafische Darstellung des Ganzen: mod_proxy_html.png Wie im Beispiel zu sehen wird man über http://server/ejabberd auf den eingebauten Webserver vom ejabberd umgeleitet. Alle Seiten, die der ejabberd sendet, werden durch mod_proxy_html so verändert, dass die Links mit http://server/ejabberd/ beginnen. So ist eine normale Funktion der ejabberd-Administrationsseiten gewährleistet. Natürlich funktioniert dieses Verfahren auch mit vielen anderen Diensten.

Vorbereitungen

Installation

mod-proxy-html ist ein Apache-Modul, das nicht von Haus aus installiert wird. Man kann es jedoch über das Paket

  • libapache2-mod-proxy-html (universe' )

Wiki/Vorlagen/Installbutton/button.png

sehr einfach nachinstallieren.

Modul aktivieren

Anschließend müssen die Module mittels der Befehle [3]

sudo a2enmod proxy
sudo a2enmod proxy_html
sudo a2enmod proxy_http 

aktiviert werden.

Hinweis:

Anschließend muss der Apache Webserver neu gestartet werden (force-reload)[4].

Einrichtung

Zum Verwenden des Moduls muss die VirtualHost-Konfiguration entsprechend angepasst werden. Hier ein Ausschnitt einer möglichen Konfiguration:

<VirtualHost *>
...
        ProxyRequests Off
        <Proxy *>
                Order deny,allow
              Allow from all
        </Proxy>
        ProxyPass /ejabberd/ http://127.0.0.1:5281/
        ProxyPassReverse /ejabberd/ http://127.0.0.1:5281/
...
</VirtualHost>

Hinweis:

Nach dieser Änderung muss der Apache Webserver neu gestartet werden (reload)[4].

Achtung!

Wenn der ProxyRequests Off vergessen wird, arbeitet das unter mod_proxy_html liegende mod_proxy als Open Proxy, was ein Sicherheitsproblem darstellt!

Diese Revision wurde am 10. Dezember 2011 um 18:49 Uhr von Heinrich Schwietering erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Netzwerk, Server, Internet

Passwort vergessen?