<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Unterstützung namensbasierter virtueller Hosts - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/2.2/vhosts/name-based.html" rel="canonical" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
<p class="apache">Apache HTTP Server Version 2.0</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP-Server</a> &gt; <a href="http://httpd.apache.org/docs/">Dokumentation</a> &gt; <a href="../">Version 2.0</a> &gt; <a href="./">Virtual Hosts</a></div><div style="width: 90%;" class="outofdate"><h4>Please note</h4>
    This document refers to the 2.0 version of Apache httpd, which is no longer maintained.<br />
    Upgrade, and refer to the current version of httpd instead, documented at:<br /><ul><li><a href="http://httpd.apache.org/docs/current/">Current release version of Apache HTTP Server documentation</a></li></ul>
    You may follow <a href="http://httpd.apache.org/docs/current/vhosts/name-based.html">this link</a> to 
    go to the current version of this document.
</div><div id="page-content"><div id="preamble"><h1>Unterstützung namensbasierter virtueller Hosts</h1>
<div class="toplang">
<p><span>Verfügbare Sprachen: </span><a href="../de/vhosts/name-based.html" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../es/vhosts/name-based.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>

  <p>Das Dokument beschreibt, wann und wie namensbasierte virtuelle Hosts zu
    verwenden sind.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">Namensbasierte gegenüber IP-basierten
    virtuellen Hosts</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#using">Die Verwendung von namensbasierten virtuellen Hosts</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#compat">Kompatibilität mit älteren Browsern</a></li>
</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="ip-based.html">Unterstützung IP-basierter virtueller
    Hosts</a></li><li><a href="details.html">Tiefergehende Erörterung der Zuweisung
    virtueller Hosts</a></li><li><a href="mass.html">Dynamisch konfiguriertes
    Massen-Virtual-Hosting</a></li><li><a href="examples.html">Beispiele für virtuelle Hosts in typischen
    Installationen</a></li><li><a href="examples.html#serverpath">ServerPath-Beispielkonfiguration</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="namevip" id="namevip">Namensbasierte gegenüber IP-basierten
    virtuellen Hosts</a></h2>

  <p>IP-basierte virtuelle Hosts verwenden die IP-Adresse der Verbindung, um den
    korrekten virtuellen Host zur Bedienung einer Anfrage zu ermitteln. Folglich 
    benötigen Sie eine IP-Adresse für jeden virtuellen Host. Bei der 
    Verwendung von namensbasierten virtuellen Hosts verläßt sich der 
    Server darauf, dass der Client den Hostnamen als Bestandteil der HTTP-Header 
    angibt. Durch Anwendung dieser Technik können sich mehrere verschiedene 
    Hosts die gleiche IP-Adresse teilen.</p>

  <p>Die Verwendung von namensbasierten virtuellen Hosts ist gewöhnlich 
    einfacher. Sie müssen lediglich Ihren DNS-Server darauf einstellen, 
    jeden Hostnamen auf die richtige IP-Adresse abzubilden, und dann den Apache 
    HTTP Server so konfigurieren, dass er die verschiedenen Hostnamen erkennt.
    Namensbasierte virtuelle Hosts entschärfen auch den Bedarf an 
    knappen IP-Adressen. Daher sollten Sie namensbasierte virtuelle Hosts 
    verwenden, sofern kein besonderer Grund dafür existiert, IP-basierte 
    virtuelle Hosts zu wählen. Mögliche Gründe für die 
    Verwendung IP-basierter virtueller Hosts sind:</p>

  <ul>
    <li>Einige antike Clients sind nicht kompatibel zu namensbasierten
      virtuellen Hosts. Damit namensbasierte virtuelle Hosts funktionieren,
      muss der Client den HTTP-Host-Header senden. Dies ist bei HTTP/1.1
      vorgeschrieben und in allen modernen HTTP/1.0-Browsern als Erweiterung
      implementiert. Wenn Sie Unterstützung für veraltete Clients
      benötigen und dennoch namensbasierte virtuelle Hosts verwenden,
      dann finden Sie eine mögliche Lösung dafür am Ende des
      Dokuments.</li>

    <li>Namensbasierte virtuelle Hosts können aufgrund der Natur des
      SSL-Protokolls nicht mit SSL-gesicherten Servern verwendet werden.</li>

    <li>Einige Betriebssysteme und Netzwerkanlagen setzen Techniken zum 
      Bandbreiten-Management ein, die nicht zwischen Hosts unterscheiden
      können, wenn diese nicht auf verschiedenen IP-Adressen liegen.</li>
    </ul>

</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="using" id="using">Die Verwendung von namensbasierten virtuellen Hosts</a></h2>

  <table class="related"><tr><th>Referenzierte Module</th><th>Referenzierte Direktiven</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>

  <p>Um namensbasierte virtuelle Hosts zu verwenden, müssen Sie die
    IP-Adresse (und möglicherweise den Port) des Servers benennen, an
    der Anfragen für die Hosts entgegengenommen werden. Dies wird mit
    der Direktive <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
    eingestellt. Im Normalfall, wenn alle IP-Adressen des Server verwendet
    werden sollen, können Sie <code>*</code> als Argument für
    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> verwenden. Wenn Sie
    vorhaben, mehrere Ports zu nutzen (etwa wenn SSL läuft), sollten
    Sie dem Argument einen Port hinzufügen, wie zum Beispiel
    <code>*:80</code>. Beachten Sie,
    dass die Angabe einer IP-Adresse in einer <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung den Server nicht
    automatisch an dieser Adresse lauschen läßt. Lesen Sie bitte "<a href="../bind.html">Bestimmen der vom Apache verwendeten Adressen und
    Ports</a>" für weitere Details. Zusätzlich muss jede hier
    angegebene IP-Adresse einer Netzwerkkarte des Servers zugeordnet sein.</p>
 
  <p>Der nächste Schritt ist die Erstellung eines <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Blocks für jeden einzelnen
    Host, den Sie bedienen wollen. Das Argument der Direktive <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> sollte das gleiche
    sein wie das Argument der <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung (d.h. eine IP-Adresse
    oder <code>*</code> für alle Adressen). Innerhalb jedes <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Blocks benötigen
    Sie zumindestens eine <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>-Anweisung, um zu bestimmen, welcher
    Host bedient wird, und eine <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Anweisung, um anzugeben, wo im
    Dateisystem der Inhalt des Hosts abgelegt ist.</p>

  <div class="note"><h3>Der Hauptserver verschwindet</h3>
    Wenn Sie virtuelle Hosts zu einem bestehenden Webserver hinzufügen,
    müssen Sie auch einen <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Block für den bestehenden Host
    <span class="transnote">(<em>Anm.d.Ü.:</em> und bisherigen Hauptserver)</span> erstellen. 
    Die <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>- und
    <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Anweisungen zu diesem
    virtuellen Host sollten die gleichen sein wie die globalen <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>- und <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Anweisungen. Führen Sie diesen
    virtuellen Host als erstes in der Konfigurationsdatei auf, so dass er als
    Standard-Host fungiert.
  </div>

  <p>Vorausgesetzt, Sie bedienen z.B. die Domain
    <code>www.domain.tld</code> und möchten den virtuellen Host
    <code>www.otherdomain.tld</code> hinzufügen, welcher auf
    die gleiche IP-Adresse zeigt. Dann fügen Sie einfach Folgendes der
    <code>httpd.conf</code> hinzu:</p>

    <div class="example"><p><code>
    NameVirtualHost *:80<br />
    <br />
    &lt;VirtualHost *:80&gt;<br />
    <span class="indent">
    ServerName www.domain.tld<br />
    ServerAlias domain.tld *.domain.tld<br />
    DocumentRoot /www/domain<br />
    </span>
    &lt;/VirtualHost&gt;<br />
    <br />
    &lt;VirtualHost *:80&gt;<br />
    <span class="indent">ServerName www.otherdomain.tld<br />
    DocumentRoot /www/otherdomain<br />
    </span>
    &lt;/VirtualHost&gt;<br />
    </code></p></div>

  <p>Sie können anstelle des <code>*</code> bei den beiden Anweisungen 
    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> und <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> alternativ eine 
    eindeutige IP-Adresse angeben. Das kann man beispielsweise machen, um 
    einige namensbasierte virtuelle Hosts auf einer IP-Adresse zu betreiben und 
    entweder IP-basierte oder ein anderes Set von namensbasierten virtuellen 
    Hosts auf einer anderen Adresse.</p>
  
  <p>Viele Server wollen unter mehr als einem Namen erreichbar sein. Die 
    Direktive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>, die innerhalb 
    des <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Abschnittes angegeben wird,
    ermöglicht dies. Zum Beispiel zeigt die <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>-Anweisung in dem ersten <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Block oben an, dass die
    aufgeführten Namen alternative Namen sind, die man verwenden kann, um
    das gleiche Webangebot zu erreichen:</p>

    <div class="example"><p><code>
    ServerAlias domain.tld *.domain.tld
    </code></p></div>

  <p>Anfragen für alle Hosts der Domain <code>domain.tld</code> werden
    von dem virtuellen Host <code>www.domain.tld</code> bedient. Die
    Platzhalter <code>*</code> und <code>?</code> können anstelle
    entsprechender Namen verwendet werden. Natürlich können Sie nicht
    einfach Namen erfinden und diese bei <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> oder <code>ServerAlias</code>
    angeben, Sie müssen zunächst Ihren DNS Server entsprechend
    konfigurieren, dass er diese Namen auf die mit Ihrem Server verknüpfte
    IP-Adresse abbildet.</p>

  <p>Und schlußendlich können Sie die Konfiguration der virtuellen
    Hosts mittels Angabe weiterer Direktiven innherhalb der <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Container
    feineinstellen. Die meisten Direktiven können in diesen Containern
    angegeben werden und verändern dann ausschließlich die
    Konfiguration des entsprechenden virtuellen Hosts. Prüfen Sie den <a href="../mod/directive-dict.html#Context">Kontext</a> einer Direktive, um
    herauszufinden, ob eine bestimmte Direktive zulässig ist.
    Im <em>Hauptserver-Kontext</em> (außerhalb der <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Container) definierte
    Konfigurationsanweisungen werden nur dann angewendet, wenn sie nicht durch
    Einstellungen des virtuellen Hosts außer Kraft gesetzt wurden.</p>

  <p>Wenn nun eine Anfrage eintrifft, prüft der Server zuerst, ob sie eine
    IP-Adresse verwendet, die der <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung entspricht. Ist dies der
    Fall, dann sieht er sich jeden <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Abschnitt mit einer passenden
    IP-Adresse an und versucht den einen zu finden, dessen <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>- oder <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>-Anweisung mit dem gewünschten
    Hostnamen übereinstimmt. Findet er einen, dann verwendet er die
    Konfiguration dieses Servers. Wird kein passender virtueller Host gefunden,
    dann wird <strong>der erste angegeben virtuelle Host</strong> verwendet,
    dessen IP-Adresse paßt.</p>

  <p>Die Folge davon ist, dass der erste aufgeführte virtuelle Host der
    <em>Standard</em>-Virtual-Host ist. Die <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Anweisung des <em>Hauptservers</em>
    wird <strong>niemals</strong> verwendet, wenn eine IP-Adresse mit einer 
    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung
    übereinstimmt. Wenn Sie eine spezielle Konfiguration für Anfragen
    angeben möchten, die keinem bestimmten virtuellen Host entsprechen,
    packen Sie diese Konfiguration einfach in einen <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Container und führen diesen als
    erstes in der Konfigurationsdatei auf.</p>

</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="compat" id="compat">Kompatibilität mit älteren Browsern</a></h2>
  
  <p>Wie zuvor erwähnt gibt es einige Clients, die nicht die notwendigen
    Daten senden, mit denen namensbasierte virtuelle Hosts korrekt
    funktionieren. Diesen Clients werden stets die Seiten des ersten, für
    diese IP-Adresse aufgeführten virtuellen Hosts gesendet werden (des
    <cite>primären</cite> namensbasierten virtuellen Hosts).</p>

  <div class="note"><h3>Was bedeutet älter?</h3>
    <p>Beachten Sie bitte, wenn wir von älter sprechen, meinen wir auch
    älter. Es ist sehr unwahrscheinlich, dass sie einen dieser Browser
    heutzutage in Verwendung finden werden. Alle aktuellen Browser-Versionen
    senden den <code>Host</code>-Header, so wie er für namensbasierte
    virtuelle Hosts benäötigt wird.</p>
  </div>

  <p>Mit der Direktive <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> existiert  
    eine mögliche Behelfskonstruktion, obgleich sie etwas schwerfällig
    ist:</p>

  <p>Beispielkonfiguration:</p>

  <div class="example"><p><code>
    NameVirtualHost 111.22.33.44<br />
    <br />
    &lt;VirtualHost 111.22.33.44&gt;<br />
    <span class="indent">
    ServerName www.domain.tld<br />
    ServerPath /domain<br />
    DocumentRoot /web/domain<br />
    </span>
    &lt;/VirtualHost&gt;<br />
  </code></p></div>

  <p>Was bedeutet das? Es bedeutet, dass eine Anfrage für eine mit
    "<code>/domain</code>" beginnende URI von dem virtuellen Host
    <code>www.domain.tld</code> bedient wird. Dies heißt, dass die Seiten
    für alle Clients unter <code>http://www.domain.tld/domain/</code>
    abrufbar sind, wenngleich Clients, die den Header <code>Host:</code>
    senden, auch über <code>http://www.domain.tld/</code> auf sie zugreifen
    können.</p>

  <p>Legen Sie einen Link auf der Seite Ihres primären virtuellen Hosts zu 
    <code>http://www.domain.tld/domain/</code>, um die Behelfslösung
    verfügbar zu machen. Bei den Seiten der virtuellen Hosts müssen
    Sie dann sicherstellen, entweder außschließlich relative Links
    (<em>z.B.</em> "<code>file.html</code>" oder
    "<code>../icons/image.gif</code>") zu verwenden oder Links, die das
    einleitende <code>/domain/</code> enthalten (<em>z.B.</em>,
    "<code>http://www.domain.tld/domain/misc/file.html</code>" oder
    "<code>/domain/misc/file.html</code>").</p>

  <p>Dies erfordert etwas Disziplin, die Befolgung dieser Richtlinien stellt
    jedoch größtenteils sicher, dass Ihre Seiten mit allen Browsern
    funktionieren, alten wie neuen.</p>

</div></div>
<div class="bottomlang">
<p><span>Verfügbare Sprachen: </span><a href="../de/vhosts/name-based.html" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../es/vhosts/name-based.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div>
</body></html>