Apache-Minikurs 3  -  Virtuelle Hosts

☰ Menü

 Bevor wir beginnen:
Diesen Apache-Minikurs zum Mitnehmen gibt's im Fundus zum Download .

Für die Übungen in diesem Kurs benötigen Sie eine virtuelle Maschine mit grafischer Oberfläche. Diese verfügt über zwei Netzwerkkarten und einen Webbrowser. Ein passendes Image (debian9-lamp-gui-2018-02-11.7z) finden Sie auf dem Klassenraumserver.

Virtual Hosts - Virtuelle Webserver

 

Ein Beispiel

Rechner werden im Internet über IP-Adressen angesprochen. Zur Zeit verwendet man in Europa zumeist noch die Protokollversion  IPv4 . Nach IPv4 besteht eine IP-Adresse aus einer 32 Bit langen Binärzahl, die zur besseren Lesbarkeit in vier Bytes aufgeteilt wird. Außerdem kann (fast) jeder Rechner auch über seinen  URI  angesprochen werden. Ein URI für HTTP besteht aus einem Schema (hier: http) und einem schemaspezifischen Teil. In eckige Klammern gefasste Teile sind optional.

   http://[Benutzer[:Passwort]@]Server[:Port][/Pfad][?Anfrage][#Fragmentbezeichner]

Box 1: Komplexes URI-Schema

Im einfachsten Fall also:

   http://server.domain

Box 2: Einfaches URI-Schema

Somit sollte man einen Webserver sowohl über seinen Namen als auch über sein IP-Adresse erreichen können. Sammeln wir einmal einige IP-Adressen. Die IP-Adresse bestimmen Sie z.B. mit einem NSLOOKUP-Befehl: Typische Syntax:
nslookup servername

Sollten Sie an Ihrem Rechner keinen Konsolenbefehl ausführen dürfen, verwenden Sie statt dessen das Programm DNSDataView, Download: https://www.nirsoft.net, bzw. im Fundus des Klassenraumservers.

DNSDataView

 

Probieren Sie selbst! Vor allem bei Hostern privater Internetseiten (s. fliegentoeter.eu) werden Sie fündig!

D:\>nslookup viersen.de
Server:  fritz.box
Address:  fd00::3a10:d5ff:fe5b:10a0

Nicht autorisierende Antwort:
Name:    viersen.de
Address:  194.77.236.20


D:\>nslookup duelken.de
Server:  fritz.box
Address:  fd00::3a10:d5ff:fe5b:10a0

Nicht autorisierende Antwort:
Name:    duelken.de
Address:  213.133.104.6


D:\>nslookup wegberg.de
Server:  fritz.box
Address:  fd00::3a10:d5ff:fe5b:10a0

Nicht autorisierende Antwort:
Name:    wegberg.de
Address:  89.110.177.66


D:\>nslookup heinsberg.de
Server:  fritz.box
Address:  fd00::3a10:d5ff:fe5b:10a0

Nicht autorisierende Antwort:
Name:    heinsberg.de
Address:  87.106.214.80

Box 3: Einige Beispiele von nslookup-abfragen

 

wegberg.de

 

 

Wieso erscheint nicht die Seite wegberg.de, wenn man statt des Namens die IP-Adresse des Webservers eingibt? Eine mögliche Antwort liefert eine WhoIs-Abfrage auf heise.de oder auf www.whois.de.

 

 

Lesen Sie das Ergebnis der whois-Abfrage:

Using server whois.denic.de.
Query string: "-T dn,ace wegberg.de"

% Copyright (c) 2010 by DENIC
% Version: 2.0
% 
% Restricted rights.
% 
% Terms and Conditions of Use
% 
% The data in this record is provided by DENIC for informational purposes only.
% DENIC does not guarantee its accuracy and cannot, under any circumstances,
% be held liable in case the stored information would prove to be wrong,
% incomplete or not accurate in any sense.
% 
% All the domain data that is visible in the whois service is protected by law.
% It is not permitted to use it for any purpose other than technical or
% administrative requirements associated with the operation of the Internet.
% It is explicitly forbidden to extract, copy and/or use or re-utilise in any
% form and by any means (electronically or not) the whole or a quantitatively
% or qualitatively substantial part of the contents of the whois database
% without prior and explicit written permission by DENIC.
% It is prohibited, in particular, to use it for transmission of unsolicited
% and/or commercial and/or advertising by phone, fax, e-mail or for any similar
% purposes.
% 
% By maintaining the connection you assure that you have a legitimate interest
% in the data and that you will only use it for the stated purposes. You are
% aware that DENIC maintains the right to initiate legal proceedings against
% you in the event of any breach of this assurance and to bar you from using
% its whois service.
% 
% The DENIC whois service on port 43 never discloses any information concerning
% the domain holder/administrative contact. Information concerning the domain
% holder/administrative contact can be obtained through use of our web-based
% whois service available at the DENIC website:
% http://www.denic.de/en/domains/whois-service/web-whois.html
% 

Domain: wegberg.de
Nserver: pns.dtag.de
Nserver: secondary007.dtag.net
Status: connect
Changed: 2015-06-27T14:10:42+02:00

[Tech-C]
Type: PERSON
Name: Florian Kluth
Organisation: Chamaeleon AG
Address: Robert-Bosch-Str. 12
PostalCode: D-56410
City: Montabaur
CountryCode: DE
Phone: +49 2602101690
Fax: +49 260210169101
Email: kluth@chamaeleon.de
Changed: 2006-08-09T11:01:12+02:00

[Zone-C]
Type: PERSON
Name: DNS Administration NOC Stuttgart
Organisation: Deutsche Telekom AG
Address: Maybachstrasse 57
PostalCode: 70469
City: Stuttgart
CountryCode: DE
Phone: +49 441 234 4567
Fax: +49 800 33 0 1179
Email: domain.registrar@telekom.de
Changed: 2013-10-16T13:08:40+02:00

Box 4: Antwort auf eine WhoIs-Abfrage

 

Die IP-Adresse der Seite wegberg.de ist bei der  Denic  für die Organisation Chamaeleon AG reserviert. Der Name wegberg.de ist bei der Denic eingetragen. Die Chamaeleon AG ist also ein Internetdienstanbieter.

 

Merke:
Erhalten Sie eine andere Internetseite, wenn Sie einen Webserver über verschiedene IP-Adressen, Rechnernamen, Portnummern oder Protokollvarianten (http bzw. https) ansprechen, wird eine Technik namens Virtual Hosts genutzt.

 

Hintergrund - Analyse eines HTTP-Requests

Schickt ein Client eine Anfrage an einen Webserver, adressiert er über den Rechnernamen bzw. die IP-Adresse den gewünschten Rechner und schickt in der GET-Anfrage über den Host-Parameter den Rechnernamen, obwohl dieser bei der Adressierung bereits benutzt wurde. Liegt hier eine doppelte Übertragung ein und derselben Information vor? Zumal beim Vorgängerprotokoll HTTP/1.0 die Angabe des Parameters Host optional ist. Erst bei HTTP/1.1 darf sie nicht weggelassen werden.

    GET / HTTP/1.1 CrLf
    Host: servername CrLf
    Connection: Close CrLf
    CrLf

Box 5: Eine einfach GET-Anfrage

Der in der Adresse genutzte Name und der im GET-Befehl mit dem Parameter Host übergebene Name müssen nicht identisch sein.  Proxy-Server  arbeiten beispielsweise mit dieser Technik. Man kann somit einen Webserver über seine IP-Adresse ansprechen und den Host-Parameter im GET-Befehl modifizieren. So lassen sich beispielsweise unter einer IP-Adresse unterschiedliche Inhalte aufrufen.

 

Vhost-Adressierung analysieren

Beispielsweise meine Internetseite über den Namen aufrufen:

Name

 

Die Internetseite über die IP-Adresse aufrufen:

 

IP-Adresse

 

Die Internetseite über die IP-Adresse und geänderter GET-Anfrage aufrufen:

 

Host geändert

 

Wie Sie sehen, muss der Servername als Host-Parameter übertragen werden, wenn der Webserver über die IP-Adresse angesprochen wird.

 

Aufgaben 1

  1. Erläutern Sie den Aufbau eines vollständigen URI am Beispiel eines HTTP-Request!
  2. Machen Sie sich mit der Syntax des Ping-Befehls (Linux- und Windows-Variante) vertraut!
    Wie ändert man die Länge des Ping-Strings, der Ping-Anzahl und das Zeitlimit?
  3. Ermitteln Sie die Funktionsweise des nslookup-Befehls!
    Quelle: de.wikipedia.org/wiki/Nslookup
  4. Welche Informationen erhält man mittels einer WhoIs-Abfrage?
  5. Durch welche Merkmale ist die Technik der Virtual Hosts gekennzeichnet?
  6. Mit welcher Besonderheit arbeiten Proxy-Server?
  7. Warum ist in einer GET-Anfrage nach HTTP/1.1 der Hostname enthalten, obwohl dieser bereits zur Adressierung des Webservers genutzt wurde? Warum diese  Redundanz ?
  8. Wodurch unterscheiden sich GET-Anfragen der Protokollversion HTTP/1.0 und HTTP/1.1 voneinander?

 

W. Hermanns, © 2018