Virtuelles Hosting - Virtual hosting

Virtuelles Hosting ist eine Methode zum Hosten mehrerer Domänennamen (mit separater Behandlung jedes Namens) auf einem einzelnen Server (oder Serverpool). Dadurch kann ein Server seine Ressourcen, wie Speicher- und Prozessorzyklen, gemeinsam nutzen, ohne dass alle bereitgestellten Dienste denselben Hostnamen verwenden müssen. Der Begriff virtuelles Hosting wird normalerweise in Bezug auf Webserver verwendet, aber die Prinzipien lassen sich auf andere Internetdienste übertragen .

Eine weit verbreitete Anwendung ist Shared Webhosting . Der Preis für Shared Webhosting ist niedriger als für einen dedizierten Webserver, da viele Kunden auf einem einzigen Server gehostet werden können. Es ist auch sehr üblich, dass eine einzelne Entität mehrere Namen auf demselben Computer verwenden möchte, damit die Namen die angebotenen Dienste widerspiegeln und nicht, wo diese Dienste zufällig gehostet werden.

Es gibt zwei Haupttypen von virtuellem Hosting, das namensbasierte und das IP-basierte. Namensbasiertes virtuelles Hosting verwendet den vom Client angegebenen Hostnamen. Dadurch werden IP-Adressen und der damit verbundene Verwaltungsaufwand eingespart, aber das bediente Protokoll muss den Hostnamen an geeigneter Stelle bereitstellen. Insbesondere beim namensbasierten virtuellen Hosting mit SSL/TLS gibt es erhebliche Schwierigkeiten . IP-basiertes virtuelles Hosting verwendet eine separate IP-Adresse für jeden Hostnamen und kann mit jedem Protokoll ausgeführt werden, erfordert jedoch eine dedizierte IP-Adresse pro bereitgestelltem Domänennamen. Auch portbasiertes virtuelles Hosting ist grundsätzlich möglich, wird aber in der Praxis selten verwendet, da es für die Nutzer unfreundlich ist.

Namensbasiertes und IP-basiertes virtuelles Hosting können kombiniert werden: Ein Server kann mehrere IP-Adressen haben und mehrere Namen auf einigen oder allen dieser IP-Adressen bereitstellen. Diese Technik kann nützlich sein, wenn SSL/TLS mit Wildcard-Zertifikaten verwendet wird. Hätte ein Serverbetreiber beispielsweise zwei Zertifikate, eines für *.example.com und eines für *.example.net, könnte der Betreiber foo.example.com und bar.example.com über dieselbe IP-Adresse bedienen, müsste aber eine separate IP-Adresse für baz.example.net.

Namensbasiert

Namensbasierte virtuelle Hosts verwenden mehrere Hostnamen für dieselbe IP-Adresse .

Eine technische Voraussetzung für namensbasierte virtuelle Hosts ist ein Webbrowser mit HTTP /1.1-Unterstützung (heute üblich), um den Zielhostnamen in die Anfrage aufzunehmen. Dadurch kann ein Server, der mehrere Sites hinter einer IP-Adresse hostet, den Inhalt der richtigen Site liefern. Genauer gesagt bedeutet dies, dass der Host HTTP-Header festgelegt wird , der in HTTP/1.1 obligatorisch ist.

Zum Beispiel könnte ein Server für zwei Domänen Empfangen von Anforderungen sein, www.example.com und www.example.net , von denen beide Entschlossenheit auf die gleiche IP - Adresse. Für www.example.com würde der Server die HTML-Datei aus dem Verzeichnis /var/www/user/Joe/site/ senden , während Anfragen für www.example.net den Server veranlassen würden, Seiten von /var/www/user . zu bedienen /Maria/site/ . Ebenso können zwei Subdomains derselben Domain zusammen gehostet werden. Ein Blogserver kann beispielsweise sowohl blog1.example.com als auch blog2.example.com hosten.

Das größte Problem beim namensbasierten virtuellen Hosting besteht darin, dass es schwierig ist, mehrere sichere Websites mit SSL/TLS zu hosten . Da der SSL/TLS- Handshake stattfindet, bevor der erwartete Hostname an den Server gesendet wird, weiß der Server nicht, welches Zertifikat er im Handshake vorlegen soll. Es ist möglich, dass ein einzelnes Zertifikat mehrere Namen entweder durch das Feld "subjectaltname" oder durch Wildcards abdeckt, aber die praktische Anwendung dieses Ansatzes wird durch administrative Überlegungen und durch die Abgleichsregeln für Wildcards eingeschränkt. Es gibt eine Erweiterung für TLS namens Server Name Indication , die den Namen zu Beginn des Handshakes anzeigt, um dieses Problem zu umgehen, mit Ausnahme einiger älterer Clients (insbesondere Internet Explorer unter Windows XP oder älteren Android- Versionen), die SNI nicht implementieren .

Wenn das Domain Name System (DNS) nicht richtig funktioniert, ist es außerdem schwierig, auf eine virtuell gehostete Website zuzugreifen, selbst wenn die IP-Adresse bekannt ist. Wenn der Benutzer versucht, die IP-Adresse zu verwenden, um das System zu kontaktieren, wie in http://10.23.45.67/ , sendet der Webbrowser die IP-Adresse als Hostnamen. Da der Webserver darauf angewiesen ist, dass der Webbrowser-Client ihm den zu verwendenden Servernamen (vhost) mitteilt, antwortet der Server mit einer Standardwebsite – oft nicht der Site, die der Benutzer erwartet.

Eine Problemumgehung besteht in diesem Fall darin, die IP-Adresse und den Hostnamen zur Hosts-Datei des Clientsystems hinzuzufügen . Der Zugriff auf den Server mit dem Domainnamen sollte wieder funktionieren. Benutzer sollten dabei jedoch vorsichtig sein, da alle Änderungen an der wahren Zuordnung zwischen Hostname und IP-Adresse von der lokalen Einstellung überschrieben werden. Diese Problemumgehung ist für einen durchschnittlichen Webbenutzer nicht wirklich nützlich, kann jedoch für einen Site-Administrator bei der Korrektur von DNS-Einträgen von Nutzen sein.

IP-basiert

Wenn IP-basiertes virtuelles Hosting verwendet wird, zeigt jede Site (entweder ein DNS-Hostname oder eine Gruppe von DNS-Hostnamen, die sich gleich verhalten) auf eine eindeutige IP-Adresse. Der Webserver ist mit mehreren physischen Netzwerkschnittstellen, virtuellen Netzwerkschnittstellen auf derselben physischen Schnittstelle oder mehreren IP-Adressen auf einer Schnittstelle konfiguriert. Der Webserver kann entweder separate Listening-Sockets für jede IP-Adresse öffnen oder er kann auf allen Schnittstellen mit einem einzigen Socket lauschen und die IP-Adresse abrufen, auf der die TCP-Verbindung empfangen wurde, nachdem die Verbindungen akzeptiert wurden. In beiden Fällen kann es die IP-Adresse verwenden, um zu bestimmen, welche Website bedient werden soll. Der Client ist an diesem Prozess nicht beteiligt und daher gibt es (im Gegensatz zum namensbasierten virtuellen Hosting) keine Kompatibilitätsprobleme.

Der Nachteil dieses Ansatzes ist, dass der Server für jede Website eine andere IP-Adresse benötigt. Dies erhöht den Verwaltungsaufwand (sowohl die Zuweisung von Adressen zu Servern als auch die Rechtfertigung der Verwendung dieser Adressen für Internet-Registrys) und trägt zur Erschöpfung der IPv4-Adressen bei .

Port-basiert

Die Standardportnummer für HTTP ist 80. Die meisten Webserver können jedoch so konfiguriert werden, dass sie mit fast jeder Portnummer arbeiten, vorausgesetzt, die Portnummer wird nicht von einem anderen Programm auf dem Server verwendet. Es gibt den speziellen HTTP-Secure- Port 443, der eine spezielle Konfiguration erfordert (siehe Server Name Indication ). Portbasierte Websites sind explizit an eine eindeutige Portnummer und eine IP-Adresse gebunden. In diesem Fall wird die IP-Adresse zum Hosten mehrerer Websites verwendet. Die eindeutige Portnummer, die für eine gemeinsame IP-Adresse verwendet wird, unterscheidet eine einzelne Website von anderen Websites, die an dieselbe IP-Adresse gebunden sind.

Verwendet

Virtuelles Webhosting wird häufig in großem Umfang in Unternehmen verwendet, deren Geschäftsmodell darin besteht, Kunden kostengünstiges Website-Hosting bereitzustellen. Die überwiegende Mehrheit der Websites von Webhosting-Dienstleistungskunden weltweit wird auf gemeinsam genutzten Servern gehostet , wobei virtuelle Hosting-Technologie verwendet wird.

Viele Unternehmen nutzen virtuelle Server für interne Zwecke, wenn es einen technischen oder administrativen Grund gibt, mehrere separate Websites zu betreiben, z. B. eine Kunden-Extranet-Website, ein Mitarbeiter- Extranet , ein internes Intranet und Intranets für verschiedene Abteilungen. Wenn bei den Website-Architekturen keine Sicherheitsbedenken bestehen, können sie mithilfe der virtuellen Hosting-Technologie zu einem einzigen Server zusammengeführt werden, was den Verwaltungs- und Verwaltungsaufwand sowie die Anzahl der separaten Server, die zur Unterstützung des Unternehmens erforderlich sind, reduziert .

Siehe auch

Verweise

Externe Links