1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>Unterstützung namensbasierter virtueller Hosts - Apache HTTP Server</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <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>
15 <p class="apache">Apache HTTP Server Version 2.0</p>
16 <img alt="" src="../images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
19 <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.0</a> > <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>Unterstützung namensbasierter virtueller Hosts</h1>
21 <p><span>Verfügbare Sprachen: </span><a href="../de/vhosts/name-based.html" title="Deutsch"> de </a> |
22 <a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English"> en </a> |
23 <a href="../es/vhosts/name-based.html" hreflang="es" rel="alternate" title="Español"> es </a> |
24 <a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
25 <a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
26 <a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
29 <p>Das Dokument beschreibt, wann und wie namensbasierte virtuelle Hosts zu
32 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">Namensbasierte gegenüber IP-basierten
33 virtuellen Hosts</a></li>
34 <li><img alt="" src="../images/down.gif" /> <a href="#using">Die Verwendung von namensbasierten virtuellen Hosts</a></li>
35 <li><img alt="" src="../images/down.gif" /> <a href="#compat">Kompatibilität mit älteren Browsern</a></li>
36 </ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="ip-based.html">Unterstützung IP-basierter virtueller
37 Hosts</a></li><li><a href="details.html">Tiefergehende Erörterung der Zuweisung
38 virtueller Hosts</a></li><li><a href="mass.html">Dynamisch konfiguriertes
39 Massen-Virtual-Hosting</a></li><li><a href="examples.html">Beispiele für virtuelle Hosts in typischen
40 Installationen</a></li><li><a href="examples.html#serverpath">ServerPath-Beispielkonfiguration</a></li></ul></div>
41 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
43 <h2><a name="namevip" id="namevip">Namensbasierte gegenüber IP-basierten
44 virtuellen Hosts</a></h2>
46 <p>IP-basierte virtuelle Hosts verwenden die IP-Adresse der Verbindung, um den
47 korrekten virtuellen Host zur Bedienung einer Anfrage zu ermitteln. Folglich
48 benötigen Sie eine IP-Adresse für jeden virtuellen Host. Bei der
49 Verwendung von namensbasierten virtuellen Hosts verläßt sich der
50 Server darauf, dass der Client den Hostnamen als Bestandteil der HTTP-Header
51 angibt. Durch Anwendung dieser Technik können sich mehrere verschiedene
52 Hosts die gleiche IP-Adresse teilen.</p>
54 <p>Die Verwendung von namensbasierten virtuellen Hosts ist gewöhnlich
55 einfacher. Sie müssen lediglich Ihren DNS-Server darauf einstellen,
56 jeden Hostnamen auf die richtige IP-Adresse abzubilden, und dann den Apache
57 HTTP Server so konfigurieren, dass er die verschiedenen Hostnamen erkennt.
58 Namensbasierte virtuelle Hosts entschärfen auch den Bedarf an
59 knappen IP-Adressen. Daher sollten Sie namensbasierte virtuelle Hosts
60 verwenden, sofern kein besonderer Grund dafür existiert, IP-basierte
61 virtuelle Hosts zu wählen. Mögliche Gründe für die
62 Verwendung IP-basierter virtueller Hosts sind:</p>
65 <li>Einige antike Clients sind nicht kompatibel zu namensbasierten
66 virtuellen Hosts. Damit namensbasierte virtuelle Hosts funktionieren,
67 muss der Client den HTTP-Host-Header senden. Dies ist bei HTTP/1.1
68 vorgeschrieben und in allen modernen HTTP/1.0-Browsern als Erweiterung
69 implementiert. Wenn Sie Unterstützung für veraltete Clients
70 benötigen und dennoch namensbasierte virtuelle Hosts verwenden,
71 dann finden Sie eine mögliche Lösung dafür am Ende des
74 <li>Namensbasierte virtuelle Hosts können aufgrund der Natur des
75 SSL-Protokolls nicht mit SSL-gesicherten Servern verwendet werden.</li>
77 <li>Einige Betriebssysteme und Netzwerkanlagen setzen Techniken zum
78 Bandbreiten-Management ein, die nicht zwischen Hosts unterscheiden
79 können, wenn diese nicht auf verschiedenen IP-Adressen liegen.</li>
82 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
84 <h2><a name="using" id="using">Die Verwendung von namensbasierten virtuellen Hosts</a></h2>
86 <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>
88 <p>Um namensbasierte virtuelle Hosts zu verwenden, müssen Sie die
89 IP-Adresse (und möglicherweise den Port) des Servers benennen, an
90 der Anfragen für die Hosts entgegengenommen werden. Dies wird mit
91 der Direktive <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
92 eingestellt. Im Normalfall, wenn alle IP-Adressen des Server verwendet
93 werden sollen, können Sie <code>*</code> als Argument für
94 <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> verwenden. Wenn Sie
95 vorhaben, mehrere Ports zu nutzen (etwa wenn SSL läuft), sollten
96 Sie dem Argument einen Port hinzufügen, wie zum Beispiel
97 <code>*:80</code>. Beachten Sie,
98 dass die Angabe einer IP-Adresse in einer <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung den Server nicht
99 automatisch an dieser Adresse lauschen läßt. Lesen Sie bitte "<a href="../bind.html">Bestimmen der vom Apache verwendeten Adressen und
100 Ports</a>" für weitere Details. Zusätzlich muss jede hier
101 angegebene IP-Adresse einer Netzwerkkarte des Servers zugeordnet sein.</p>
103 <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
104 Host, den Sie bedienen wollen. Das Argument der Direktive <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> sollte das gleiche
105 sein wie das Argument der <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung (d.h. eine IP-Adresse
106 oder <code>*</code> für alle Adressen). Innerhalb jedes <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>-Blocks benötigen
107 Sie zumindestens eine <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>-Anweisung, um zu bestimmen, welcher
108 Host bedient wird, und eine <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Anweisung, um anzugeben, wo im
109 Dateisystem der Inhalt des Hosts abgelegt ist.</p>
111 <div class="note"><h3>Der Hauptserver verschwindet</h3>
112 Wenn Sie virtuelle Hosts zu einem bestehenden Webserver hinzufügen,
113 müssen Sie auch einen <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>-Block für den bestehenden Host
114 <span class="transnote">(<em>Anm.d.Ü.:</em> und bisherigen Hauptserver)</span> erstellen.
115 Die <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>- und
116 <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Anweisungen zu diesem
117 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
118 virtuellen Host als erstes in der Konfigurationsdatei auf, so dass er als
119 Standard-Host fungiert.
122 <p>Vorausgesetzt, Sie bedienen z.B. die Domain
123 <code>www.domain.tld</code> und möchten den virtuellen Host
124 <code>www.otherdomain.tld</code> hinzufügen, welcher auf
125 die gleiche IP-Adresse zeigt. Dann fügen Sie einfach Folgendes der
126 <code>httpd.conf</code> hinzu:</p>
128 <div class="example"><p><code>
129 NameVirtualHost *:80<br />
131 <VirtualHost *:80><br />
132 <span class="indent">
133 ServerName www.domain.tld<br />
134 ServerAlias domain.tld *.domain.tld<br />
135 DocumentRoot /www/domain<br />
137 </VirtualHost><br />
139 <VirtualHost *:80><br />
140 <span class="indent">ServerName www.otherdomain.tld<br />
141 DocumentRoot /www/otherdomain<br />
143 </VirtualHost><br />
146 <p>Sie können anstelle des <code>*</code> bei den beiden Anweisungen
147 <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
148 eindeutige IP-Adresse angeben. Das kann man beispielsweise machen, um
149 einige namensbasierte virtuelle Hosts auf einer IP-Adresse zu betreiben und
150 entweder IP-basierte oder ein anderes Set von namensbasierten virtuellen
151 Hosts auf einer anderen Adresse.</p>
153 <p>Viele Server wollen unter mehr als einem Namen erreichbar sein. Die
154 Direktive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>, die innerhalb
155 des <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>-Abschnittes angegeben wird,
156 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
157 aufgeführten Namen alternative Namen sind, die man verwenden kann, um
158 das gleiche Webangebot zu erreichen:</p>
160 <div class="example"><p><code>
161 ServerAlias domain.tld *.domain.tld
164 <p>Anfragen für alle Hosts der Domain <code>domain.tld</code> werden
165 von dem virtuellen Host <code>www.domain.tld</code> bedient. Die
166 Platzhalter <code>*</code> und <code>?</code> können anstelle
167 entsprechender Namen verwendet werden. Natürlich können Sie nicht
168 einfach Namen erfinden und diese bei <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> oder <code>ServerAlias</code>
169 angeben, Sie müssen zunächst Ihren DNS Server entsprechend
170 konfigurieren, dass er diese Namen auf die mit Ihrem Server verknüpfte
171 IP-Adresse abbildet.</p>
173 <p>Und schlußendlich können Sie die Konfiguration der virtuellen
174 Hosts mittels Angabe weiterer Direktiven innherhalb der <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>-Container
175 feineinstellen. Die meisten Direktiven können in diesen Containern
176 angegeben werden und verändern dann ausschließlich die
177 Konfiguration des entsprechenden virtuellen Hosts. Prüfen Sie den <a href="../mod/directive-dict.html#Context">Kontext</a> einer Direktive, um
178 herauszufinden, ob eine bestimmte Direktive zulässig ist.
179 Im <em>Hauptserver-Kontext</em> (außerhalb der <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>-Container) definierte
180 Konfigurationsanweisungen werden nur dann angewendet, wenn sie nicht durch
181 Einstellungen des virtuellen Hosts außer Kraft gesetzt wurden.</p>
183 <p>Wenn nun eine Anfrage eintrifft, prüft der Server zuerst, ob sie eine
184 IP-Adresse verwendet, die der <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung entspricht. Ist dies der
185 Fall, dann sieht er sich jeden <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>-Abschnitt mit einer passenden
186 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
187 Hostnamen übereinstimmt. Findet er einen, dann verwendet er die
188 Konfiguration dieses Servers. Wird kein passender virtueller Host gefunden,
189 dann wird <strong>der erste angegeben virtuelle Host</strong> verwendet,
190 dessen IP-Adresse paßt.</p>
192 <p>Die Folge davon ist, dass der erste aufgeführte virtuelle Host der
193 <em>Standard</em>-Virtual-Host ist. Die <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>-Anweisung des <em>Hauptservers</em>
194 wird <strong>niemals</strong> verwendet, wenn eine IP-Adresse mit einer
195 <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>-Anweisung
196 übereinstimmt. Wenn Sie eine spezielle Konfiguration für Anfragen
197 angeben möchten, die keinem bestimmten virtuellen Host entsprechen,
198 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
199 erstes in der Konfigurationsdatei auf.</p>
201 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
202 <div class="section">
203 <h2><a name="compat" id="compat">Kompatibilität mit älteren Browsern</a></h2>
205 <p>Wie zuvor erwähnt gibt es einige Clients, die nicht die notwendigen
206 Daten senden, mit denen namensbasierte virtuelle Hosts korrekt
207 funktionieren. Diesen Clients werden stets die Seiten des ersten, für
208 diese IP-Adresse aufgeführten virtuellen Hosts gesendet werden (des
209 <cite>primären</cite> namensbasierten virtuellen Hosts).</p>
211 <div class="note"><h3>Was bedeutet älter?</h3>
212 <p>Beachten Sie bitte, wenn wir von älter sprechen, meinen wir auch
213 älter. Es ist sehr unwahrscheinlich, dass sie einen dieser Browser
214 heutzutage in Verwendung finden werden. Alle aktuellen Browser-Versionen
215 senden den <code>Host</code>-Header, so wie er für namensbasierte
216 virtuelle Hosts benäötigt wird.</p>
219 <p>Mit der Direktive <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> existiert
220 eine mögliche Behelfskonstruktion, obgleich sie etwas schwerfällig
223 <p>Beispielkonfiguration:</p>
225 <div class="example"><p><code>
226 NameVirtualHost 111.22.33.44<br />
228 <VirtualHost 111.22.33.44><br />
229 <span class="indent">
230 ServerName www.domain.tld<br />
231 ServerPath /domain<br />
232 DocumentRoot /web/domain<br />
234 </VirtualHost><br />
237 <p>Was bedeutet das? Es bedeutet, dass eine Anfrage für eine mit
238 "<code>/domain</code>" beginnende URI von dem virtuellen Host
239 <code>www.domain.tld</code> bedient wird. Dies heißt, dass die Seiten
240 für alle Clients unter <code>http://www.domain.tld/domain/</code>
241 abrufbar sind, wenngleich Clients, die den Header <code>Host:</code>
242 senden, auch über <code>http://www.domain.tld/</code> auf sie zugreifen
245 <p>Legen Sie einen Link auf der Seite Ihres primären virtuellen Hosts zu
246 <code>http://www.domain.tld/domain/</code>, um die Behelfslösung
247 verfügbar zu machen. Bei den Seiten der virtuellen Hosts müssen
248 Sie dann sicherstellen, entweder außschließlich relative Links
249 (<em>z.B.</em> "<code>file.html</code>" oder
250 "<code>../icons/image.gif</code>") zu verwenden oder Links, die das
251 einleitende <code>/domain/</code> enthalten (<em>z.B.</em>,
252 "<code>http://www.domain.tld/domain/misc/file.html</code>" oder
253 "<code>/domain/misc/file.html</code>").</p>
255 <p>Dies erfordert etwas Disziplin, die Befolgung dieser Richtlinien stellt
256 jedoch größtenteils sicher, dass Ihre Seiten mit allen Browsern
257 funktionieren, alten wie neuen.</p>
260 <div class="bottomlang">
261 <p><span>Verfügbare Sprachen: </span><a href="../de/vhosts/name-based.html" title="Deutsch"> de </a> |
262 <a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English"> en </a> |
263 <a href="../es/vhosts/name-based.html" hreflang="es" rel="alternate" title="Español"> es </a> |
264 <a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
265 <a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
266 <a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
267 </div><div id="footer">
268 <p class="apache">Copyright 2009 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>
269 <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>