Reverse Proxy als Vermittler

Wie schon früher berichtet laufen seit neustem einige Anwendungen auf meinen Servern zu Hause. Das Problem dabei ist nur, dass mein Server hinter einem Router hängt, wodurch ich nur eine öffentliche IP erhalte.

Um auch einzelne Server innerhalb meines Netzwerkes anzusprechen, so habe ich dafür ein Portforwarding eingerichtet. Doch was, wenn ich nun zwei Webserver im Netzwerk habe. Wie kann ich beide ansprechen? Ich kann den Port 80 ja nicht auf mehrere Server weiterleiten.

Die Lösung heisst Reverse Proxy. Dabei kann ich die Anfrage vom Router, über den Proxy auf den passenden Server weiterleiten.

Somit kann ich also als Beispiel einen Webserver und eine Groupware beide auf Port 80 betreiben. Von aussen angesprochen werden Sie dann mittels http://ip.com/webserver/ oder http://ip.com/groupware/. Der Proxy entscheidet und leitet auf den entsprechenden Server weiter.

Die Installation ist auch ganz einfach 🙂
Alles was man tun muss, ist ein Paket aus den Paketquellen zu installieren

sudo apt-get install libapache2-mod-proxy-html

Danach muss man noch die folgenden drei Module aktivieren

sudo a2enmod proxy
sudo a2enmod proxy_html
sudo a2enmod proxy_http

und den Webserver neu zustarten.

sudo /etc/init.d/apache2 force-reload

Nun kann man mit der Konfiguration beginnen. Ein Beispiel kann in etwa so aussehen:

<VirtualHost *>

ProxyRequests Off

Order deny,allow
Allow from all
ProxyPass /webserver/ http://192.168.1.2:80/
ProxyPassReverse /webserver/ http://192.168.1.2:80/

ProxyPass /groupware/ http://192.168.1.3:80/
ProxyPassReverse /groupware/ http://192.168.1.3:80/

</VirtualHost>

Nun gilt es einfach alle Server einzutragen und dann den Webserver nochmals neu zustarten. Nun trägt man ein Portforwarding im Router ein und kann somit beide Server auf Port 80 ansprechen.

Vielen Dank an das Ubuntuusers-Wiki 🙂

Ein Kommentar bei „Reverse Proxy als Vermittler

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.