1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
|
<?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" /></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="<-" 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.0</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="../es/vhosts/name-based.html" hreflang="es" rel="alternate" title="Espa�ol"> es </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>
<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"><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></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="../es/vhosts/name-based.html" hreflang="es" rel="alternate" title="Espa�ol"> es </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 id="footer">
<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>
<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>
|