1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
4 <!-- English Revision: 1565321:1673947 (outdated) -->
7 Licensed to the Apache Software Foundation (ASF) under one or more
8 contributor license agreements. See the NOTICE file distributed with
9 this work for additional information regarding copyright ownership.
10 The ASF licenses this file to You under the Apache License, Version 2.0
11 (the "License"); you may not use this file except in compliance with
12 the License. You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <manualpage metafile="bind.xml.meta">
25 <title>An Adressen und Ports binden</title>
28 <p>Konfiguration der vom Apache HTTP Server verwendeten Adressen und
32 <seealso><a href="vhosts/">Virtuelle Hosts</a></seealso>
33 <seealso><a href="dns-caveats.html">Probleme bezüglich DNS und
36 <section id="overview">
37 <title>Überblick</title>
42 <module>mpm_common</module>
45 <directive module="core" type="section">VirtualHost</directive>
46 <directive module="mpm_common">Listen</directive>
50 <p>Beim Start bindet sich der httpd an bestimmte Adressen und Ports
51 der lokalen Maschine und wartet auf eingehende Anfragen.
52 Standardmäßig lauscht er an allen Adressen des Systems.
53 Es kann jeodch notwendig sein, ihm mit zuteilen, nur an bestimmten
54 Ports zu lauschen oder nur an ausgewählten Adressen, bzw. einer
55 Kombination aus beidem. Dies wird oft mit der Funktionalität <a
56 href="vhosts/">virtueller Hosts</a> kombiniert, die bestimmt, wie
57 der <code>httpd</code> auf verschiedene IP-Adressen, Hostnamen und
60 <p>Die Direktive <directive module="mpm_common">Listen</directive>
61 weist den Server an, eingehende Anfragen nur an bestimmten Port(s)
62 oder Adress/Port-Kombinationen zu akzeptieren. Wenn bei der
63 <directive module="mpm_common">Listen</directive>-Direktive nur eine
64 Portnummer angegeben wird, dann lauscht der Server auf allen
65 Netzwerkinterfaces an dem angegebenen Port. Ist auch eine IP-Adresse
66 angegeben, dann lauscht der Server an der angegebenen Schnittstelle
67 auf dem angegebenen Port. Es können mehrere <directive
68 module="mpm_common">Listen</directive>-Anweisungen verwendet werden,
69 um eine Reihe von Adressen und Ports anzugeben, an denen gelauscht
70 werden soll. Der Server wird dann auf Anfragen an jeder der
71 abgehörten Adressen und Ports antworten.</p>
73 <p>Um beispielsweise den Server zu veranlassen, auf allen
74 Netzwerkinterfaces sowohl an Port 80, als auch an Port 8000
75 Verbindungen zu akzeptieren, geben Sie an:</p>
78 <highlight language="config">
84 <p>Um den Server Verbindungen an Port 80 auf einem Netzwerkinterface
85 akzeptieren zu lassen und an Port 8080 auf einem anderen Interface, geben
89 <highlight language="config">
95 <p>IPv6-Adressen müssen wie im folgenden Beispiel in eckigen
96 Klammern angegeben werden:</p>
99 <highlight language="config">
100 Listen [2001:db8::a00:20ff:fea7:ccea]:80
104 <note type="warning"><p>Sich überlappende <directive
105 module="mpm_common">Listen</directive>-Direktiven generieren einen
106 fatalen Fehler, der verhindert, dass der Server hochfährt.</p>
109 (48)Address already in use: make_sock: could not bind to address [::]:80
113 href="http://wiki.apache.org/httpd/CouldNotBindToAddress">Diese
114 Diskussion im Wiki</a> gibt weitere Tipps zur Fehlerbehebung.</p>
119 <title>Betrachtung von IPv6-Besonderheiten</title>
121 <p>Eine wachsende Anzahl von Plattformen implementiert IPv6. Die
122 <glossary>APR</glossary> unterstützt IPv6 auf den meisten
123 dieser Plattformen und ermöglicht dem httpd, IPv6-Sockets zu
124 verwenden und über IPv6 gesendete Anfragen zu behandeln.</p>
126 <p>Für httpd-Administratoren kommt erschwerend die Frage hinzu,
127 ob IPv6-Sockets sowohl IPv4- als auch IPv6-Verbindungen handhaben
128 können. Zum Betrieb von IPv4-Verbindungen an IPv6-Sockets
129 werden auf IPv6 abgebildete IPv4-Adressen <transnote>so genannete
130 IPv4-gemappte IPv6-Adressen</transnote> verwendet, welche
131 standardmäßig auf den meisten Plattformen erlaubt sind.
132 Unter FreeBSD, NetBSD und OpenBSD jedoch sind sie
133 standardmäßig deaktiviert, um den Systemgrundsätzen
134 dieser Plattformen zu entsprechen. Auf Systemen, wo dies
135 standardmäßig dekativiert ist, kann dieses Verhalten mit
136 einem speziellen <program>configure</program>-Parameter für den
137 httpd geändert werden.</p>
139 <p>Auf der anderen Seite ist die Verwendung von gemappten Adressen
140 bei einigen Plattformen wie Linux und True64 der
141 <strong>einzige</strong> Weg, sowohl IPv4 wie auch IPv6 zu
142 verwenden. Wenn Sie möchten, dass der <code>httpd</code> IPv4-
143 und IPv6-Verbindungen mit einem Minimum an Sockets behandelt, was
144 die Verwendung von IPv4-gemappten IPv6-Adressen erfordert, dann
145 müssen Sie die <program> configure</program>-Option
146 <code>--enable-v4-mapped</code> angeben.</p>
148 <p><code>--enable-v4-mapped</code> ist die Voreinstellung auf allen
149 Plattformen außer FreeBSD, NetBSD und OpenBSD, so dass Ihr
150 httpd wahrscheinlich so übersetzt wurde.</p>
152 <p>Geben Sie wie in dem folgenden Beispiel bei allen <directive
153 module="mpm_common">Listen</directive>-Anweisungen eine IPv4-Adresse
154 an, wenn Sie möchten, dass Ihr httpd lediglich IPv4-Adressen
155 behandelt, unabhängig davon, was Ihre Plattform und die APR
156 unterstützen:</p>
159 <highlight language="config">
165 <p>Wenn Sie möchten, dass der httpd IPv4- und IPv6-Verbindungen
166 an separaten Sockets behandelt (d.h. IPv4-gemappte Adressen
167 deaktiviert werden sollen) und Ihre Plattform es unterstützt,
168 dann müssen Sie die <program>configure</program>-Option
169 <code>--disable-v4-mapped</code> angeben. Unter FreeBSD, NetBSD und
170 OpenBSD ist <code>--disable-v4-mapped</code> voreingestellt.</p>
173 <section id="protocol">
174 <title>Angabe des Protokolls bei Listen</title>
175 <p>Das optionale zweite <var>Protokoll</var>-Argument von <directive
176 module="mpm_common">Listen</directive> ist für die meisten
177 Konfigurationen gar nicht erforderlich. Wenn nicht angegeben, sind
178 <code>https</code> für Port 443 und <code>http</code> für
179 alle anderen Ports die Voreinstellungen. Die Protokollangabe wird
180 sowohl dazu verwendet, herauszufinden, welches Modul Anfragen
181 verarbeiten soll, als auch, um protokollspezifische Optimierungen
182 bei der <directive module="core">AcceptFilter</directive>-Direktive
185 <p>Sie müssen das Protokoll nur angeben, wenn Sie
186 ungewöhnliche Ports benutzen, beispielsweise <code>https</code>
190 <highlight language="config">
191 Listen 192.170.2.1:8443 https
196 <section id="virtualhost">
197 <title>Das Zusammenspiel mit virtuellen Hosts</title>
199 <p>Die Direktive <directive module="mpm_common">Listen</directive>
200 implementiert keine virtuellen Hosts - sie teilt dem Hauptserver
201 lediglich mit, an welchen Adressen und Ports er zu lauschen hat.
202 Werden keine <directive module="core"
203 type="section">VirtualHost</directive>-Container verwendet, dann
204 verhält sich der Server bei allen angenommenen Anfragen gleich.
205 <directive module="core"
206 type="section">VirtualHost</directive>-Abschnitte können jedoch
207 dazu verwendet werden, ein unterschiedliches Verhalten für eine
208 oder mehrere Adressen und Ports festzulegen. Um einen virtuellen
209 Host einzurichten, muss dem Server zunächst mitgeteilt werden,
210 an den betreffenden Adressen oder Ports zu lauschen. Dann sollte ein
211 <directive module="core"
212 type="section">VirtualHost</directive>-Abschnitt für die
213 angebene Adresse und den angegebenen Port erstellt werden, um das
214 Verhalten dieses virtuellen Hosts festzulegen. Beachten Sie bitte,
215 dass auf einen <directive module="core"
216 type="section">VirtualHost</directive> nicht zugegriffen werden
217 kann, wenn er für eine Adresse und einen Port eingerichtet
218 wurde, an dem der Server nicht lauscht.</p>