Wirtualny hosting

Hosting wirtualny to metoda hostowania wielu nazw domen (z oddzielną obsługą każdej nazwy) na jednym serwerze (lub puli serwerów). Dzięki temu jeden serwer może dzielić swoje zasoby, takie jak pamięć i cykle procesora, bez konieczności używania tej samej nazwy hosta przez wszystkie świadczone usługi. Termin hosting wirtualny jest zwykle używany w odniesieniu do serwerów sieciowych, ale zasady te dotyczą również innych usług internetowych .

Jedną z powszechnie używanych aplikacji jest współdzielony hosting . Cena współdzielonego hostingu jest niższa niż w przypadku dedykowanego serwera WWW , ponieważ wielu klientów może być hostowanych na jednym serwerze. Bardzo często zdarza się, że jeden podmiot chce używać wielu nazw na tym samym komputerze, aby nazwy mogły odzwierciedlać oferowane usługi, a nie miejsce, w którym te usługi są hostowane.

Istnieją dwa główne typy hostingu wirtualnego, oparty na nazwie i na adresie IP. Wirtualny hosting oparty na nazwach wykorzystuje nazwę hosta przedstawioną przez klienta. Pozwala to zaoszczędzić adresy IP i związane z tym narzuty administracyjne, ale obsługiwany protokół musi podać nazwę hosta w odpowiednim miejscu. W szczególności istnieją znaczne trudności w korzystaniu z wirtualnego hostingu opartego na nazwach z SSL/TLS . Wirtualny hosting oparty na protokole IP używa oddzielnego adresu IP dla każdej nazwy hosta i można to wykonać za pomocą dowolnego protokołu, ale wymaga dedykowanego adresu IP dla każdej obsługiwanej nazwy domeny. Wirtualny hosting oparty na portach jest również możliwy w zasadzie, ale jest rzadko stosowany w praktyce, ponieważ jest nieprzyjazny dla użytkowników.

Hosting wirtualny oparty na nazwach i adresach IP można łączyć: serwer może mieć wiele adresów IP i obsługiwać wiele nazw na niektórych lub wszystkich tych adresach IP. Ta technika może być przydatna podczas korzystania z protokołu SSL/TLS z certyfikatami wieloznacznymi. Na przykład, jeśli operator serwera miał dwa certyfikaty, jeden dla *.example.com i jeden dla *.example.net, mógłby udostępnić foo.example.com i bar.example.com z tego samego adresu IP, ale musiałby osobny adres IP dla baz.example.net.

Na podstawie nazwy

Wirtualne hosty oparte na nazwach używają wielu nazw hostów dla tego samego adresu IP .

Warunkiem technicznym wymaganym dla wirtualnych hostów opartych na nazwach jest przeglądarka internetowa obsługująca HTTP /1.1 (powszechny obecnie), aby uwzględnić nazwę docelowego hosta w żądaniu. Dzięki temu serwer obsługujący wiele witryn pod jednym adresem IP może dostarczać właściwą zawartość witryny. Mówiąc dokładniej, oznacza to ustawienie Host HTTP , który jest obowiązkowy w HTTP/1.1.

Na przykład serwer może odbierać żądania dotyczące dwóch domen, www.example.com i www.example.net , z których obie są tłumaczone na ten sam adres IP. W przypadku www.example.com serwer wysłałby plik HTML z katalogu /var/www/user/Joe/site/ , podczas gdy żądania dotyczące www.example.net spowodowałyby, że serwer obsługiwałby strony z /var/www/user /Maryja/strona/ . Równie dwie subdomeny tej samej domeny mogą być hostowane razem. Na przykład serwer blogów może obsługiwać zarówno blog1.example.com, jak i blog2.example.com.

Największym problemem związanym z wirtualnym hostingiem opartym na nazwach jest to, że trudno jest hostować wiele bezpiecznych witryn internetowych korzystających z protokołu SSL/TLS . Ponieważ uzgadnianie SSL/TLS ma miejsce przed wysłaniem oczekiwanej nazwy hosta do serwera, serwer nie wie, który certyfikat przedstawić w uzgadnianiu. Możliwe jest, aby pojedynczy certyfikat obejmował wiele nazw za pomocą pola „nazwa podmiotu” lub symboli wieloznacznych, ale praktyczne zastosowanie tego podejścia jest ograniczone względami administracyjnymi i zasadami dopasowywania symboli wieloznacznych. Istnieje rozszerzenie TLS o nazwie Server Name Indication , który przedstawia nazwę na początku uzgadniania, aby obejść ten problem, z wyjątkiem niektórych starszych klientów (w szczególności Internet Explorer w systemie Windows XP lub starszych wersjach Androida ), które nie implementują SNI .

Ponadto, jeśli system nazw domen (DNS) nie działa prawidłowo, trudno jest uzyskać dostęp do wirtualnej witryny internetowej, nawet jeśli adres IP jest znany. Jeśli użytkownik spróbuje wrócić do używania adresu IP do kontaktowania się z systemem, jak w przypadku http://10.23.45.67/ , przeglądarka internetowa wyśle ​​adres IP jako nazwę hosta. Ponieważ serwer internetowy polega na kliencie przeglądarki internetowej, który mówi mu, jakiej nazwy serwera (vhost) ma użyć, serwer odpowie z domyślną witryną internetową — często inną niż oczekiwana przez użytkownika.

Obejściem tego problemu jest dodanie adresu IP i nazwy hosta do pliku hosts systemu klienckiego . Dostęp do serwera za pomocą nazwy domeny powinien znowu działać. Użytkownicy powinni jednak zachować ostrożność, ponieważ wszelkie zmiany rzeczywistego mapowania między nazwą hosta a adresem IP zostaną nadpisane przez ustawienia lokalne. To obejście nie jest naprawdę przydatne dla przeciętnego użytkownika sieci, ale może być przydatne dla administratora witryny podczas naprawiania rekordów DNS.

Oparte na IP

W przypadku korzystania z hostingu wirtualnego opartego na protokole IP każda witryna (nazwa hosta DNS lub grupa nazw hostów DNS, które działają tak samo) wskazuje unikalny adres IP. Serwer WWW jest skonfigurowany z wieloma fizycznymi interfejsami sieciowymi, wirtualnymi interfejsami sieciowymi na tym samym interfejsie fizycznym lub wieloma adresami IP na jednym interfejsie. Serwer WWW może albo otworzyć osobne gniazda nasłuchujące dla każdego adresu IP, albo może nasłuchiwać na wszystkich interfejsach z jednym gniazdem i uzyskać adres IP, z którego odebrane zostało połączenie TCP po zaakceptowaniu połączeń. Tak czy inaczej, może użyć adresu IP do określenia, która witryna ma być obsługiwana. Klient nie jest zaangażowany w ten proces i dlatego (w przeciwieństwie do wirtualnego hostingu opartego na nazwie) nie ma problemów z kompatybilnością.

Wadą tego podejścia jest to, że serwer potrzebuje innego adresu IP dla każdej witryny internetowej. Zwiększa to obciążenie administracyjne (zarówno przydzielanie adresów serwerom, jak i uzasadnianie wykorzystania tych adresów w rejestrach internetowych) i przyczynia się do wyczerpania adresów IPv4 .

Używa

Wirtualny hosting jest często wykorzystywany na dużą skalę w firmach, których model biznesowy polega na zapewnianiu klientom taniego hostingu stron internetowych. Zdecydowana większość internetowych klientów usług hostingowych na całym świecie jest hostowana na serwerach współdzielonych z wykorzystaniem technologii hostingu wirtualnego.

Wiele firm korzysta z serwerów wirtualnych do celów wewnętrznych, gdy istnieje technologiczny lub administracyjny powód do obsługi kilku oddzielnych witryn internetowych, takich jak ekstranet klienta, ekstranet pracowników, wewnętrzny intranet i intranet dla różnych działów. Jeśli architektury witryn internetowych nie stwarzają problemów związanych z bezpieczeństwem, można je połączyć w jeden serwer przy użyciu technologii hostingu wirtualnego, co zmniejsza koszty zarządzania i administracji oraz liczbę oddzielnych serwerów wymaganych do obsługi działalności.

Zobacz też

Linki zewnętrzne