10.8. Virtuelle Hosts verwenden

Apache HTTP Server bietet die Möglichkeit zur Verwendung von virtuellen Hosts und ermöglicht dem Server verschiedene Informationen bereitzustellen, basierend auf angeforderter IP-Adresse, Hostname oder Port. Eine ausführliche Anleitung zur Verwendung virtueller Hosts finden Sie online unter http://httpd.apache.org/docs-2.0/vhosts/.

10.8.1. Einrichten von Virtual Hosts

Um einen Namens-basierten Virtual Host zu erzeugen, ist es am besten den Virtual-Host-Container in httpd.conf als Grundlage zu verwenden.

Das Beispiel des Virtual Host liest sich wie folgt:

#NameVirtualHost *:80
#
#<VirtualHost  *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

Um Namens-basiertes Virtual Hosting zu aktivieren, entfernen Sie das Kommentarsymbol (#) aus der NameVirtualHost-Zeile und ersetzen Sie den Stern (*) mit der IP-Adresse, die dem Rechner zugewiesen ist.

Als nächstes, konfigurieren Sie einen Virtuellen Host, indem Sie die Kommetarsymbole im <VirtualHost>-Container entfernen und die Werte benutzerdefiniert einstellen.

In der <VirtualHost>-Zeile, ändern Sie den Stern (*) in die IP-Adresse des Servers. Ändern Sie ServerName auf einen gültigen, dem Rechner zugewiesenen, DNS-Namen und konfigurieren Sie andere Anweisungen entsprechend.

Der <VirtualHost>-Container ist in hohem Grade benutzerdefinierbar und akzeptiert nahezu jede Anweisung in der allgemeinen Server-Konfiguration.

TippTipp
 

Wenn Sie einen virtuellen Host dazu konfigurieren einen Nicht-Standard-Port abzuhören, muss dieser Port zur Listen-Anweisung in den allgemeinen Einstellungen der Datei /etc/httpd/conf/http.conf hinzugefügt werden.

Um einen neu erzeugten Virtual Host zu aktivieren, muss Apache HTTP Server neu geladen oder neu gestartet werden. Dazu siehe Abschnitt 10.4 für diesbezügliche Anleitungen.

Umfassende Informationen zum Erzeugen und Konfigurieren beider, Namens-basierter und IP-basierter Virtual Hosts, finden Sie Online unter http://httpd.apache.org/docs-2.0/vhosts/.

10.8.2. Der virtuelle Host des Secure Web-Servers

Standardmäßig ist Apache HTTP Server als ein unverschlüsselter sowie auch Secure Server konfiguriert. Beide Server verwenden dieselbe IP-Adresse und denselben Host-Namen, warten jedoch an verschiedenen Ports auf Anforderungen: jeweils 80 und 443. Dies ermöglicht gleichzeitig verschlüsselte sowie auch unverschlüsselte Kommunikation.

Ein Aspekt SSL-unterstützter HTTP-Übertragungen ist, dass diese mehr Ressourcen benötigen als das Standard-HTTP-Protokoll, weswegen ein Secure Server nicht die gleiche Anzahl an Seiten pro Sekunde bereitstellen kann. Aus diesem Grund ist es oft ratsam, die von einem Secure Server bereitgestellte Information zu minimieren, vor allem dann, wenn die Seite viele Anfragen erhält.

WichtigWichtig
 

Do not use name-based virtual hosts in conjunction with a secure Web server as the SSL handshake occurs before the HTTP request identifies the appropriate name-based virtual host. Name-based virtual hosts only work with the non-secure Web server.

Die Konfigurationsanweisungen für Secure Server sind innerhalb virtueller Host-Tags in der /etc/httpd/conf.d/ssl.conf-Datei beinhaltet.

Standardmäßig teilen sich verschlüsselte und unverschlüsselte Web Server das selbe DocumentRoot-Verzeichnis. Es wird empfohlen, das ein anderes DocumentRoot für den Secure Web Server zur Verfügung gestellt wird.

Um unverschlüsselte Web-Server vom Akzeptieren einer Verbindung abzuhalten, kommentieren Sie die Zeile Listen 80 in der Datei httpd.conf aus, indem Sie ein Rautensymbol ([#]) voranstellen. Die Zeile wird dann wie Folgt aussehen:

#Listen 80

Für weitere Informationen zum Konfigurieren eines SSL-unterstützten Web-Servers, sehen Sie das Kapitel Apache HTTP Secure Server Konfiguration im Red Hat Enterprise Linux Handbuch zur System-Administration. Für weiterführende Hinweise, sehen Sie die Dokumentation der Apache Software Foundation Online unter den folgenden URLs: