| <?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>Unterstützung namensbasierter virtueller Hosts - Apache HTTP Server Version 2.5</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/quickreference.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.5</p> |
| <img alt="" src="../images/feather.png" /></div> |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> |
| <div id="path"> |
| <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.5</a> > <a href="./">Virtual Hosts</a></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"> de </a> | |
| <a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | |
| <a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> |
| </div> |
| <div class="outofdate">Diese Übersetzung ist möglicherweise |
| nicht mehr aktuell. Bitte prüfen 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"><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><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 gegenüber IP-basierten |
| virtuellen Hosts</a> <a title="Permanent link" href="#namevip" class="permalink">¶</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> <a title="Permanent link" href="#using" class="permalink">¶</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"><VirtualHost></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"><VirtualHost></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"><VirtualHost></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"><VirtualHost></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"><VirtualHost></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 /> |
| <VirtualHost *:80><br /> |
| <span class="indent"> |
| ServerName www.domain.tld<br /> |
| ServerAlias domain.tld *.domain.tld<br /> |
| DocumentRoot /www/domain<br /> |
| </span> |
| </VirtualHost><br /> |
| <br /> |
| <VirtualHost *:80><br /> |
| <span class="indent">ServerName www.otherdomain.tld<br /> |
| DocumentRoot /www/otherdomain<br /> |
| </span> |
| </VirtualHost><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"><VirtualHost></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"><VirtualHost></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"><VirtualHost></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"><VirtualHost></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"><VirtualHost></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"><VirtualHost></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"><VirtualHost></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> <a title="Permanent link" href="#compat" class="permalink">¶</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 /> |
| <VirtualHost 111.22.33.44><br /> |
| <span class="indent"> |
| ServerName www.domain.tld<br /> |
| ServerPath /domain<br /> |
| DocumentRoot /web/domain<br /> |
| </span> |
| </VirtualHost><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"> de </a> | |
| <a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/vhosts/name-based.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | |
| <a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed 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 Libera.chat, or sent to our <a href="https://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/trunk/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 2023 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/quickreference.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> |