Angenommene Situation:

Server1 lauscht auf Port 80 auf Anfragen, die über den Router gesendet werden.

Server2 stellt eine Anwendung zu Verfügung, z.B. Icinga. Diese soll jedoch auch aus dem Internet errecihbar sein über Port 80.

Jetzt möchte kann man natürlich Port 80 nicht zwei mal weiterleiten. Ein alternativer Port (z.B. 8080 => http://www.adresse.de:8080) ist auch nicht das Gelbe vom Ei.

Die Lösung bringt der Apache2 mit.

So kann man vorgehen.

a2enmod proxy
a2enmod proxy_http

Falls es die Datei mod_proxy unter /etc/apache2/mods-available nicht geben sollte, hilft ein

apt-get install libapache2-mod-proxy-html

Um Fehler zu vermeiden, habe ich festgestellt, dass man noch einen Symlink manuell erstellen sollte

ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load

Damit ist der Grundstein gelegt und man muss nur noch seinen vHost auf Server1 entsprechend konfigurieren, dass er Anfragen an Icinga auf Server2 weitergibt.

Dazu ein Ausschnitt aus meiner /etc/apache2/sites-available/ssl:

ProxyRequests Off
ProxyPass /icinga http://storm/icinga
ProxyPassReverse /icinga http://storm/icinga
ProxyPass /cgi-bin/icinga http://storm/cgi-bin/icinga
ProxyPassReverse /cgi-bin/icinga http://storm/cgi-bin/icinga

Im Anschluss noch den Apache restarten auf Server1 und fertig.

/etc/init.d/apache2 restart