12.5. Wirtualny serwer

From: W.Myszka@immt.pwr.wroc.pl

W bardzo wielu przypadkach istnieje potrzeba wykorzystania jednego komputera do obsługiwania informacji dostarczonych przez kilku różnych klientów. Problem można rozwiązać na kilka różnych sposobów:

1. Informacje każdego klienta umieszczamy w innej kartotece i propagujemy odsyłacze:

2. Informacje umieszczamy w osobnych kartotekach i uruchamiamy kilka serwerów http; każdy korzystający z innego portu. Odsyłacze będą wyglądały wówczas tak: lub jeżeli zarejestrujemy w DNS jako alias dla naszego serwera nazwy www.klient1.com.pl, ... , www.klientn.com.pl Rozwiązania oba są bardzo proste, ale niezbyt eleganckie. Klient może domagać się występowania pod własną nazwą i nie godzić się na żadne "dopiski". W takiej sytuacji musimy uruchomić "serwery wirtualne". Musimy: W ostatecznym układzie sytuacja będzie wyglądać tak: na naszym komputerze będzie pracował jeden serwer www, który, w zależności od tego do jakiego adresu "zapuka" klient serwował będzie inny zestaw informacji...

Aby dodać alias IP w Linuksie (z jądrem 2.0) wystarczy --- przy odpowiednio skompilowanym jądrze --- opcje Network Aliasing i IP Aliasing w make config wydać polecenie:

root@domek ~# 


/sbin/ifconfig eth0:10 192.168.17.1 broadcast 192.168.17.255 netmask 255.255.255.0 


i odpowiednio ustawić routing...

Większość współcześnie dystrybuowanych serwerów HTTP (używając pola nagłówka Host: z HTTP/1.1) pozwala poza tym zdefiniować kilka serwerów wirtualnych na jednym numerze IP (choć niekoniecznie jest to zalecane --- spora część działających (choć chyba już żadna ze sprzedawanych/rozprowadzanych) przeglądarek używa jedynie HTTP/1.0 --- podczas, gdy jest to jedna z własności HTTP/1.1 ).

Patrz też:.