• Digitální příslušenství
  • Server
  • Digitální život
  • Zásady ochrany osobních údajů
  • Kontaktujte nás
  1. Domov
  2. Článek
  3. Virtuální hostitelé

Virtuální hostitelé

Rsdaa 17/12/2021 1755

Virtuální hostitel je konfigurační entita, která umožňuje jednomu hostitelskému počítači připomínat více hostitelských strojů. Udržuje seznam typů MIME (Multipurpose Internet Mail Extensions), které zpracovává. Virtuálního hostitele můžete přidružit k jednomu nebo více webovým modulům, ale každý webový modul můžete přidružit pouze k jednomu virtuálnímu hostiteli. Prostředky přidružené k jednomu virtuálnímu hostiteli nemohou sdílet data s prostředky přidruženými k jinému virtuálnímu hostiteli, i když virtuální hostitelé sdílejí stejný fyzický počítač.

Každý virtuální hostitel má svůj logický název a seznam jednoho nebo více aliasů DNS, pod kterými je znám. Alias ​​DNS je název hostitele TCP/IP a číslo portu, které se používá k vyžádání servletu, například yourHostName:80. Pokud není zadáno žádné číslo portu, předpokládá se 80.

Konfigurace virtuálního hostitele používá zástupné znaky s porty pro své položky virtuálního hostitele.

Výchozí alias je *:80 s použitím externího portu, který není zabezpečený. Aliasy ve tvaru *:9080 používají interní port, který není zabezpečený. Aliasy ve tvaru *:9443 používají zabezpečený interní port. Aliasy ve tvaru *:443 používají zabezpečený externí port.

Požadavek klienta na servlet, soubor JavaServer Pages nebo související prostředek obsahuje alias DNS a URI (Uniform Resource Indicator), který je pro daný prostředek jedinečný. Když je přijat požadavek klienta na servlet, soubor JavaServer Pages nebo související prostředek, porovná se alias DNS se seznamem všech známých skupin virtuálních hostitelů, aby se našel správný virtuální hostitel, a URI se porovná se seznamem všech známých Skupiny URI, abyste našli správnou skupinu URI. Pokud je nalezena skupina virtuálních hostitelů a skupina URI, je požadavek odeslán ke zpracování odpovídající skupině serverů a do prohlížeče je vrácena odpověď. Pokud není nalezena odpovídající skupina virtuálních hostitelů nebo skupina URI, vrátí se do prohlížeče chyba.

Virtuální hostitel není spojen s konkrétním uzlem (strojem). Je to konfigurace, spíše než živý objekt, a proto ji můžete vytvořit, ale nemůžete ji spustit ani zastavit. Výchozí virtuální hostitel s názvem výchozí_hostitel se automaticky nakonfiguruje při prvním spuštění aplikačního serveru. Pokud nechcete konkrétně izolovat prostředky od sebe na stejném uzlu (fyzickém počítači), pravděpodobně nebudete potřebovat žádné virtuální hostitele kromě výchozího hostitele.

Aliasy DNS pro výchozího virtuálního hostitele jsou nakonfigurovány jako *:80 a *:9080, kde port 80 je port HTTP serveru a port 9080 je port pro přenos HTTP výchozího serveru. Výchozí virtuální hostitel zahrnuje běžné aliasy, jako je IP adresa počítače, krátký název hostitele a plně kvalifikovaný název hostitele. Jeden z těchto aliasů obsahuje první část cesty pro přístup ke zdroji, jako je servlet. Například alias localhost:80 je použit v požadavku http://localhost:80/myServlet.

Přidáním localhost do virtuálních hostitelů se do tabulky aliasů přidá název hostitele a IP adresa počítače localhost. To umožňuje vzdálenému uživateli přístup k administrativní konzole.

Pokud chcete použít jiné než výchozí porty, můžete k přidání nebo změně aliasů DNS použít administrativní konzolu. Pokud provedete změnu aliasu DNS, musíte znovu vygenerovat konfiguraci zásuvného modulu webového serveru. K zahájení regenerace modulu plug-in můžete použít administrativní konzolu.

Když požadujete zdroj, produkt se pokusí namapovat požadavek na alias definovaného virtuálního hostitele. Část http://hostitel:port/ virtuálního hostitele nerozlišuje malá a velká písmena, ale následující URL rozlišuje malá a velká písmena. Shoda adresy URL musí být přesná alfanumericky. Různá čísla portů jsou považována za různé aliasy.

Například požadavek http://www.myhost.com/myservlet se úspěšně mapuje na http://WWW.MYHOST.COM/myservlet, ale ne na http://WWW.MYHOST.COM/MYSERVLET nebo Www. Myhost.Com/Myservlet. V posledních dvou případech tato mapování selžou z důvodu rozlišování malých a velkých písmen. Požadavek http://www.myhost.com/myservlet se úspěšně nenamapuje na http://myhost/myservlet nebo na http://myhost:9876/myservlet. Tato mapování selžou, protože nejsou alfanumericky správná.

Můžete použít zástupné znaky pro aliasy podle portu a určit, že všechny platné kombinace názvu hostitele a adresy na konkrétním portu mapují na konkrétního virtuálního hostitele.

Pokud požadujete zdroj pomocí aliasu, který nelze namapovat na alias definovaného virtuálního hostitele, zobrazí se chyba 404 v prohlížeči, který jste použili k zadání požadavku. Zpráva oznamuje, že virtuální hostitel nebyl nalezen.

U virtuálních hostitelů se vyskytují dvě sady přidružení. Nasazení aplikace přidruží aplikaci k virtuálnímu hostiteli. Definice virtuálního hostitele spojují síťovou adresu stroje a přiřazení portu HTTP nebo portu webového serveru aplikačního serveru k virtuálnímu hostiteli. Při pohledu na tok z požadavku webového klienta pro servlet snoop nastanou například následující akce:

Webový klient požádá o snoop servlet: na webové adrese http://www.some_host.some_company.com:9080/snoop Počítač some_host má port 9080 přiřazený samostatnému aplikačnímu serveru, server1.server1 se podívá na virtuálního hostitele přiřazení k určení virtuálního hostitele, který je přiřazen k aliasu some_host.some_company.com:9080. Aplikační server zjistí, že pro tento řetězec DNS neexistuje žádný explicitní alias. Přiřazení zástupného znaku pro název hostitele * na portu 9080 však existuje. Tohle je zápas. Virtuální hostitel, který definuje shodu, je default_host.Aplikační server se podívá na aplikace nasazené na default_host a najde servlet snoop.Aplikační server předá aplikaci webovému klientovi a žadatel může použít servlet snoop.

Aplikační server hledá shodu pomocí explicitní adresy zadané na adrese webového klienta. Může však vyřešit shodu s jakýmkoli jiným aliasem, který se shoduje se vzorem, než dojde ke shodě s explicitní adresou. Pouhé definování aliasu jako prvního v seznamu aliasů nezaručuje pořadí vyhledávání, kdykoli produkt hledá odpovídající alias.

Pokud použijete stejný alias pro dva různé virtuální hostitele, může dojít k problému. Předpokládejme například, že jste nainstalovali výchozí aplikaci a servlet snoop na výchozí_hostitel. Máte také dalšího virtuálního hostitele s názvem admin_host. Nenainstalovali jste však výchozí aplikaci nebo servlet snoop na admin_host.

Předpokládejme, že přichází požadavek webového klienta na adresu http://my_machine.com:9080/snoop.

Pokud aplikační server odpovídá požadavku *:9080, bude aplikace obsluhována z výchozího_hostitele. Pokud aplikační server odpovídá požadavku my.machine.com:9080, aplikaci nelze najít. V prohlížeči, který zadává požadavek, dojde k chybě 404. Zpráva oznamuje, že virtuální hostitel nebyl nalezen.

Tento problém je důsledkem nenalezení požadované aplikace v prvním virtuálním hostiteli, který má odpovídající alias. Správný způsob kódování aliasů je, že název aliasu v příchozím požadavku odpovídá pouze jednomu virtuálnímu hostiteli ve všech vašich definicích virtuálního hostitele. Pokud adresa URL může odpovídat více než jednomu virtuálnímu hostiteli, můžete vidět právě popsaný problém.


PREV: Nelze navázat vazbu na chybu serveru LDAP v Nagios

NEXT: VMware vSphere & Microsoft LDAP Channel Binding & Signing...

Populární články

Žhavé články
Zpět na začátek