Virtuální hosting

Virtuální hosting je způsob hostování více domén (s odděleným nastavením každé z nich) na jednom serveru (seskupení serverů). Toto umožňuje serveru sdílet jeho zdroje, jako je paměť a cykly procesoru, bez nutnosti všechny poskytované služby používat na jednom jménu počítače. Termín virtuální hosting se obvykle používá pro webový server, ale v principu může nést jakoukoli jinou internetovou službu.

Široce používanou aplikací je sdílený web hosting. Ceny sdíleného web hostingu jsou menší než jednoúčelových webových serverů, protože mnoho zákazníků může být hostováno na jednom serveru. Je to také běžné pro někoho, kdo chce mít více jmen (domén) na jednom serveru, tato jména pak mohou označovat různé služby. Je to výhodnější než hostovat každou službu zvlášť.

Existují dva hlavní typy virtuálního hostingu: hosting založený na jménu a hosting založený na IP adrese. Hosting založený na jménu používá jméno počítače předložené klientem. Toto šetří IP adresy a s tím související administrativní režii, ale protokol musí dodat jméno počítače na vhodném místě. Problémy zde jsou zejména při použití s SSL/TLS. Virtuální hosting založený na IP adrese používá oddělené IP adresy pro každé jméno počítače, to může být provedeno jakýmkoliv protokolem, ale doporučuje se jedna IP adresa na každou doménu. Virtuální hosting založený na portech by byl také možný, ale je zřídka používaný v praxi, protože je uživatelsky nepřívětivý.

Hostingy založené na jméně a IP mohou být kombinovány. Server může mít více IP adres. Na některých, nebo na všech může používat více jmen. Tato technika může být užitečná, když používáme SSL/TLS s wildcard certifikáty. Pro příklad, když administrátor bude mít dva certifikáty, jeden pro *.example.com a jeden pro *.example.net, pak může používat foo.example.com a bar.example.com na stejné IP adrese, ale bude potřebovat samostatnou IP adresu pro baz.example.net.

Hosting založený na jméně (name-based) editovat

Virtuální hosting založený na jméně používá více jmen počítače na stejné IP adrese.

Technický předpoklad pro použití tohoto hostingu je web browser s podporou HTTP/1.1 (dnes samozřejmost) k zahrnutí jména počítače do dotazu. To umožní hostingu s více stránkami pod jednou IP adresou, doručit správný obsah stránky. Konkrétně nastavení host v HTTP hlavičce.

Například, server bude přijímat dotazy na dvě domény www.example.com a www.example.net, obě jsou na stejné IP adrese (DNS). Pro www.example.com server odešle HTML soubor z adresáře /var/www/user/Joe/site/, zatímco při dotazu na www.example.net server odešle HTML soubor z /var/www/user/Mary/site/. Obdobně pro dvě subdomény na stejné doméně mohou být hostovány spolu. Například na blog serveru můžeme hostovat blog1.example.com a blog2.example.com.

Hosting založený na IP adrese (IP-based) editovat

Pokud je použit virtuální hosting založený na IP adrese, každá stránka má vlastní IP adresu. Webserver může být nakonfigurovaný s více fyzickými síťovými zařízeními, mít virtuální síťová zařízení na stejném fyzickém síťovém zařízení, nebo více IP adres na jednom zařízení.

Web server může buď, otevřít odděleně naslouchající sockety, nebo může naslouchat na všech zařízeních přes jeden socket a získat adresu TCP spojení, obdrženou po přijetí spojení. Ať tak či onak, může určit, které stránce bude adresa sloužit. Klient není nijak zapojen do tohoto procesu a proto zde nejsou žádné problémy s kompatibilitou.

Nevýhodou tohoto řešení je, že server potřebuje pro každou stránku jinou IP adresu. Tímto se zvyšuje administrativní režie a přispívá se k vyčerpání IPv4 adres.

Hosting založený na portech (port-based) editovat

Výchozí číslo portu pro HTTP je 80. Nicméně, mnoho Webových serverů mohou být nastaveny pro použití jiných portů. Za předpokladu, že port nepoužívá jiná služba či program na serveru.

Pro příklad mějme server, který hostuje stránku www.example.com. Pokud by si vlastník přál pracovat ještě s druhou stránkou a neměl by přístup k nastavení DNS, nebo by neměl žádné další IP adresy, ze kterých by mohl hostovat stránku, mohl by použít jiné číslo portu například: www.example.com:81 pro port 81, www.example.com:8000 pro port 8000, nebo www.example.com:8080 pro port 8080.

Nicméně, toto není moc uživatelsky přívětivé řešení. Uživatelé nemohou předpokládat jaké číslo portu má jejich stránka a přesouvání mezi stránkami by znamenalo měnit čísla portů. Používání nestandardních portů může vypadat dost neprofesionálně. Navíc některé firewally automaticky blokují nestandardně používané porty.

Použití editovat

Virtuální webhosting je často používán ve velkém měřítku ve společnostech, jejíchž business model se zabývá poskytováním webhostingu za nízkou cenu. Webové stránky drtivé většiny zákazníků na celém světě jsou umístěny na sdílených serverech, používajících technologii virtuálního hostingu.

Mnoho podniků využívá virtuální servery pro interní účely, tam kde potřebují z technických nebo administrativních důvodů oddělené webové stránky. Jako třeba extranet pro zákazníky, extranet a intranet pro zaměstnance a intranet pro různá oddělení podniku. V případě, že nejsou nějaké bezpečnostní důvody, mohou použít pro tyto účely virtuální webhosting, což snižuje náklady na management a administraci. Může se tak snížit počet samostatných serverů potřebných pro podnikání.

Externí odkazy editovat