Mehrere BSDJails mit Webservern aber nur eine IP

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
miker
Posts: 64
Joined: 2005-03-26 13:33
Location: Wildeshausen

Mehrere BSDJails mit Webservern aber nur eine IP

Post by miker »

Hallo,

ich spiele seit gestern zuhause mit FreeBSD, da ich mir die Jails mal etwas genauer ansehen wollte. Nun habe ich mir folgendes Szenario überlegt:

Ein Jail mit DB-Server
Ein Jail mit Mailserver
Pro Webapplikation jeweils ein Jail mit Webserver + Scriptsprache.

Intention dürfte klar sein, ich würd gern Dinge wie PHPBB von dem restlichen Webzeugs trennen, falls ich mal nen Patch vergesse. :)
Für mich entsteht nun das Problem, dass ich alle Webserver über Port 80 erreichen möchte. Natürlich könnte ich entsprechend viele IP-Adressen besorgen und jedem Jail eine Eigene geben, aber das kann ja irgendwie nicht das Optimum sein. Wenn ich nun aber interne IP-Adressen verwende, bräuchte ich natürlich etwas, dass es mir erlaubt zu erkennen: Benutzer hat Domain1 aufgerufen, dafür ist der Webserver in Jail1 zuständig. Benutzer hat Domain2 aufgerufen, da weiß Jail2 bescheid, etc. Das Prinzip sollte klar sein. :)
Nun zum Einen die Frage, was kann ich an diese Stelle setzen, um diese Aufgabe zu erledigen?
Und optional als zweite Frage: Macht mein Setup so in irgendeiner Weise Sinn, oder gibt es einen Weg das Gewollte wesentlich einfacher zu erreichen?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11164
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Mehrere BSDJails mit Webservern aber nur eine IP

Post by Joe User »

Die Jail-Lösung ist grundsätzlich nicht falsch, IMHO sogar zu bevorzugen. Was Dein Problem angeht, so lässt sich dieses am Einfachsten per HTTP-Proxy lösen.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Mehrere BSDJails mit Webservern aber nur eine IP

Post by mattiass »

Joe User wrote:Die Jail-Lösung ist grundsätzlich nicht falsch, IMHO sogar zu bevorzugen. Was Dein Problem angeht, so lässt sich dieses am Einfachsten per HTTP-Proxy lösen.
Ja, das dachte ich auch. Einfach ein paar 172.16.16er-Adressen nehmen. Aber vorgher mit dem Hoster abklären, dass die nicht zufällig für interne RZ-Zwecke genutzt werden...

User avatar
daemotron
Administrator
Administrator
Posts: 2636
Joined: 2004-01-21 17:44

Re: Mehrere BSDJails mit Webservern aber nur eine IP

Post by daemotron »

MattiasS wrote:Einfach ein paar 172.16.16er-Adressen nehmen
Ich würde noch einen Schritt weiter gehen und die Webserver in den Jails alle an 127.0.0.1 binden (dann natürlich auf jeweils unterschiedlichen Ports) und den Proxy entsprechend auf diese Ports zugreifen lassen...

Besonders elegant wäre es natürlich, wenn man das über Unix-Sockets lösen könnte. Dummerweise unterstützt AFAIK kein Webserver eine Verbindung über Sockets...

Roger Wilco
Administrator
Administrator
Posts: 5923
Joined: 2004-05-23 12:53

Re: Mehrere BSDJails mit Webservern aber nur eine IP

Post by Roger Wilco »

jfreund wrote:Ich würde noch einen Schritt weiter gehen und die Webserver in den Jails alle an 127.0.0.1 binden (dann natürlich auf jeweils unterschiedlichen Ports) und den Proxy entsprechend auf diese Ports zugreifen lassen...
Warum so sparsam? Du hast doch das ganze 127.0.0.0/8 zur Verfügung. Jedes Jail kann also ruhig an eine eigene IP-Adresse gebunden werden.
jfreund wrote:Besonders elegant wäre es natürlich, wenn man das über Unix-Sockets lösen könnte. Dummerweise unterstützt AFAIK kein Webserver eine Verbindung über Sockets...
lighttpd kann das. ;)
Leider kann mod_proxy bis jetzt nur auf TCP/IP-Sockets konnektieren. :(

User avatar
daemotron
Administrator
Administrator
Posts: 2636
Joined: 2004-01-21 17:44

Re: Mehrere BSDJails mit Webservern aber nur eine IP

Post by daemotron »

Roger Wilco wrote:lighttpd kann das. :wink:
Schick - man lernt ja nie aus... und was den Proxy angeht - das müsste sich doch über einen Socks Proxy hinbekommen lassen, oder? (Hintergedanke: Die Sockets würden natürlich in den Jails liegen, so dass man vom Inneren eines Jails aus nicht auf die Verbindungen anderer Kunden zugreifen kann - was sich bei TCP/IP leider nicht 100% unterbinden lässt...)