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