Pound - revers proxy, kilka maszyn oraz różne webserwery na jednym IP

Pound jest serwerem proxy. Ja uzywam go aby ruch z portu 80 przerzucał na inne portu lub inne maszyny. Na przykład gdy mamy kilka róznych serwerów WWW, np. Ngnix-a i Apache i do tego z róznymi wersjami PHP, gdzie dla przykładu grzenio.pl wykorzystuje PHP5, a juz ulicazeglarska.pl używa jeszcze PHP4 (to oczywiście przykład).

Zakładamy ze nasz IP na świat to 11.22.33.44 i dodatkowo mamy jeszcze serwer zabawa.grzenio.pl na adresie 192.168.1.2 (oczywiście nasz serwer który nasłuchuje na IP zewnętrznym musi mieć komunikacje z druga maszyna, czyli musi miec dwie sieci skonfigurowane). W przykładzie Apache nasłuchuje na porcie 5555, a Ngnix na porice 5556, druga maszyna w sieci LAN śmiga na porcie 80.

Jako dodatek podam, że mając jedno IP zewnętrzne i stosując OpenVZ, można dla kazdej maszyny wirtualnej dać jakieś IP z sieci LAN (192.168..x.x) i skierować konkretne domeny na maszyny wirtualne.

Nie rozpisując się za dużo podam przykladową konfiguracje.

User            "www-data"
Group           "www-data"
LogLevel        3
LogFacility local5
Alive           30
#SSLEngine      ""
Control "/var/run/pound/poundctl.socket"

ListenHTTP
        Address 11.22.33.44
        Port 80
        xHTTP           0

Service
 URL  ".*"
 headrequire "Host: .*grzenio.pl"
 BackEnd
 address 0.0.0.0
 port 5555
 End
End

Service
 URL  ".*"
 headrequire "Host: .*ulicazeglarska.pl"
 BackEnd
 address 0.0.0.0
 port 5556
 End
End

Service
 URL  ".*"
 headrequire "Host: .*zabawa.grzenio.pl"
 BackEnd
 address 192.168.1.2
 port 80
 End
End