name-based.html.de 20.9 KB
Newer Older
powelld's avatar
powelld committed
<?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>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Untersttzung namensbasierter virtueller Hosts - Apache HTTP Server Version 2.4</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p>
<p class="apache">Apache HTTP Server Version 2.4</p>
<img alt="" src="../images/feather.png" /></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.4</a> &gt; <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>Untersttzung namensbasierter virtueller Hosts</h1>
<div class="toplang">
<p><span>Verfgbare 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="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Franais">&nbsp;fr&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="Trke">&nbsp;tr&nbsp;</a></p>
</div>
<div class="outofdate">Diese bersetzung ist mglicherweise
            nicht mehr aktuell. Bitte prfen Sie die englische Version auf
            die neuesten nderungen.</div>

  <p>Das Dokument beschreibt, wann und wie namensbasierte virtuelle Hosts zu
    verwenden sind.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">Namensbasierte gegenber 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">Kompatibilitt mit lteren Browsern</a></li>
</ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="ip-based.html">Untersttzung IP-basierter virtueller
    Hosts</a></li><li><a href="details.html">Tiefergehende Errterung der Zuweisung
    virtueller Hosts</a></li><li><a href="mass.html">Dynamisch konfiguriertes
    Massen-Virtual-Hosting</a></li><li><a href="examples.html">Beispiele fr virtuelle Hosts in typischen
    Installationen</a></li><li><a href="examples.html#serverpath">ServerPath-Beispielkonfiguration</a></li><li><a href="#comments_section">Kommentare</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 gegenber 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 
    bentigen Sie eine IP-Adresse fr jeden virtuellen Host. Bei der 
    Verwendung von namensbasierten virtuellen Hosts verlt sich der 
    Server darauf, dass der Client den Hostnamen als Bestandteil der HTTP-Header 
    angibt. Durch Anwendung dieser Technik knnen sich mehrere verschiedene 
    Hosts die gleiche IP-Adresse teilen.</p>

  <p>Die Verwendung von namensbasierten virtuellen Hosts ist gewhnlich 
    einfacher. Sie mssen 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 entschrfen auch den Bedarf an 
    knappen IP-Adressen. Daher sollten Sie namensbasierte virtuelle Hosts 
    verwenden, sofern kein besonderer Grund dafr existiert, IP-basierte 
    virtuelle Hosts zu whlen. Mgliche Grnde fr 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 Untersttzung fr veraltete Clients
      bentigen und dennoch namensbasierte virtuelle Hosts verwenden,
      dann finden Sie eine mgliche Lsung dafr am Ende des
      Dokuments.</li>

    <li>Namensbasierte virtuelle Hosts knnen 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
      knnen, 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, mssen Sie die
    IP-Adresse (und mglicherweise den Port) des Servers benennen, an
    der Anfragen fr 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, knnen Sie <code>*</code> als Argument fr
    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> verwenden. Wenn Sie
    vorhaben, mehrere Ports zu nutzen (etwa wenn SSL luft), sollten
    Sie dem Argument einen Port hinzufgen, 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 lt. Lesen Sie bitte "<a href="../bind.html">Bestimmen der vom Apache verwendeten Adressen und
    Ports</a>" fr weitere Details. Zustzlich muss jede hier
    angegebene IP-Adresse einer Netzwerkkarte des Servers zugeordnet sein.</p>
 
  <p>Der nchste Schritt ist die Erstellung eines <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Blocks fr 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> fr alle Adressen). Innerhalb jedes <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Blocks bentigen
    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 hinzufgen,
    mssen Sie auch einen <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>-Block fr 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. Fhren 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 mchten den virtuellen Host
    <code>www.otherdomain.tld</code> hinzufgen, welcher auf
    die gleiche IP-Adresse zeigt. Dann fgen 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 knnen 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,
    ermglicht 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
    aufgefhrten 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 fr 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> knnen anstelle
    entsprechender Namen verwendet werden. Natrlich knnen 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 mssen zunchst Ihren DNS Server entsprechend
    konfigurieren, dass er diese Namen auf die mit Ihrem Server verknpfte
    IP-Adresse abbildet.</p>

  <p>Und schluendlich knnen 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 knnen in diesen Containern
    angegeben werden und verndern dann ausschlielich die
    Konfiguration des entsprechenden virtuellen Hosts. Prfen Sie den <a href="../mod/directive-dict.html#Context">Kontext</a> einer Direktive, um
    herauszufinden, ob eine bestimmte Direktive zulssig ist.
    Im <em>Hauptserver-Kontext</em> (auerhalb 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 auer Kraft gesetzt wurden.</p>

  <p>Wenn nun eine Anfrage eintrifft, prft 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 gewnschten
    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 pat.</p>

  <p>Die Folge davon ist, dass der erste aufgefhrte 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 fr Anfragen
    angeben mchten, 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 fhren 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">Kompatibilitt mit lteren Browsern</a></h2>
  
  <p>Wie zuvor erwhnt 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, fr
    diese IP-Adresse aufgefhrten virtuellen Hosts gesendet werden (des
    <cite>primren</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 fr namensbasierte
    virtuelle Hosts bentigt wird.</p>
  </div>

  <p>Mit der Direktive <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> existiert  
    eine mgliche Behelfskonstruktion, obgleich sie etwas schwerfllig
    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 fr eine mit
    "<code>/domain</code>" beginnende URI von dem virtuellen Host
    <code>www.domain.tld</code> bedient wird. Dies heit, dass die Seiten
    fr 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
    knnen.</p>

  <p>Legen Sie einen Link auf der Seite Ihres primren virtuellen Hosts zu 
    <code>http://www.domain.tld/domain/</code>, um die Behelfslsung
    verfgbar zu machen. Bei den Seiten der virtuellen Hosts mssen
    Sie dann sicherstellen, entweder auschlielich 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 grtenteils sicher, dass Ihre Seiten mit allen Browsern
    funktionieren, alten wie neuen.</p>

</div></div>
<div class="bottomlang">
<p><span>Verfgbare 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="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Franais">&nbsp;fr&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="Trke">&nbsp;tr&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Kommentare</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/name-based.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2017 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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>