| <?xml version="1.0" encoding="UTF-8" ?> |
| <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd"> |
| <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?> |
| <!-- English Revision: 1565335:1827552 (outdated) --> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <manualpage metafile="bind.xml.meta"> |
| |
| <title>An Adressen und Ports binden</title> |
| |
| <summary> |
| <p>Konfiguration der vom Apache HTTP Server verwendeten Adressen und |
| Ports.</p> |
| </summary> |
| |
| <seealso><a href="vhosts/">Virtuelle Hosts</a></seealso> |
| <seealso><a href="dns-caveats.html">Probleme bezüglich DNS und |
| Apache</a></seealso> |
| |
| <section id="overview"> |
| <title>Überblick</title> |
| |
| <related> |
| <modulelist> |
| <module>core</module> |
| <module>mpm_common</module> |
| </modulelist> |
| <directivelist> |
| <directive module="core" type="section">VirtualHost</directive> |
| <directive module="mpm_common">Listen</directive> |
| </directivelist> |
| </related> |
| |
| <p>Beim Start bindet sich der httpd an bestimmte Adressen und Ports |
| der lokalen Maschine und wartet auf eingehende Anfragen. |
| Standardmäßig lauscht er an allen Adressen des Systems. |
| Es kann jeodch notwendig sein, ihm mit zuteilen, nur an bestimmten |
| Ports zu lauschen oder nur an ausgewählten Adressen, bzw. einer |
| Kombination aus beidem. Dies wird oft mit der Funktionalität <a |
| href="vhosts/">virtueller Hosts</a> kombiniert, die bestimmt, wie |
| der <code>httpd</code> auf verschiedene IP-Adressen, Hostnamen und |
| Ports reagiert.</p> |
| |
| <p>Die Direktive <directive module="mpm_common">Listen</directive> |
| weist den Server an, eingehende Anfragen nur an bestimmten Port(s) |
| oder Adress/Port-Kombinationen zu akzeptieren. Wenn bei der |
| <directive module="mpm_common">Listen</directive>-Direktive nur eine |
| Portnummer angegeben wird, dann lauscht der Server auf allen |
| Netzwerkinterfaces an dem angegebenen Port. Ist auch eine IP-Adresse |
| angegeben, dann lauscht der Server an der angegebenen Schnittstelle |
| auf dem angegebenen Port. Es können mehrere <directive |
| module="mpm_common">Listen</directive>-Anweisungen verwendet werden, |
| um eine Reihe von Adressen und Ports anzugeben, an denen gelauscht |
| werden soll. Der Server wird dann auf Anfragen an jeder der |
| abgehörten Adressen und Ports antworten.</p> |
| |
| <p>Um beispielsweise den Server zu veranlassen, auf allen |
| Netzwerkinterfaces sowohl an Port 80, als auch an Port 8000 |
| Verbindungen zu akzeptieren, geben Sie an:</p> |
| |
| <example> |
| <highlight language="config"> |
| Listen 80 |
| Listen 8000 |
| </highlight> |
| </example> |
| |
| <p>Um den Server Verbindungen an Port 80 auf einem Netzwerkinterface |
| akzeptieren zu lassen und an Port 8080 auf einem anderen Interface, geben |
| Sie an:</p> |
| |
| <example> |
| <highlight language="config"> |
| Listen 192.0.2.1:80 |
| Listen 192.0.2.5:8000 |
| </highlight> |
| </example> |
| |
| <p>IPv6-Adressen müssen wie im folgenden Beispiel in eckigen |
| Klammern angegeben werden:</p> |
| |
| <example> |
| <highlight language="config"> |
| Listen [2001:db8::a00:20ff:fea7:ccea]:80 |
| </highlight> |
| </example> |
| |
| <note type="warning"><p>Sich überlappende <directive |
| module="mpm_common">Listen</directive>-Direktiven generieren einen |
| fatalen Fehler, der verhindert, dass der Server hochfährt.</p> |
| |
| <example> |
| (48)Address already in use: make_sock: could not bind to address [::]:80 |
| </example> |
| |
| <p><a |
| href="http://wiki.apache.org/httpd/CouldNotBindToAddress">Diese |
| Diskussion im Wiki</a> gibt weitere Tipps zur Fehlerbehebung.</p> |
| </note> |
| </section> |
| |
| <section id="ipv6"> |
| <title>Betrachtung von IPv6-Besonderheiten</title> |
| |
| <p>Eine wachsende Anzahl von Plattformen implementiert IPv6. Die |
| <glossary>APR</glossary> unterstützt IPv6 auf den meisten |
| dieser Plattformen und ermöglicht dem httpd, IPv6-Sockets zu |
| verwenden und über IPv6 gesendete Anfragen zu behandeln.</p> |
| |
| <p>Für httpd-Administratoren kommt erschwerend die Frage hinzu, |
| ob IPv6-Sockets sowohl IPv4- als auch IPv6-Verbindungen handhaben |
| können. Zum Betrieb von IPv4-Verbindungen an IPv6-Sockets |
| werden auf IPv6 abgebildete IPv4-Adressen <transnote>so genannete |
| IPv4-gemappte IPv6-Adressen</transnote> verwendet, welche |
| standardmäßig auf den meisten Plattformen erlaubt sind. |
| Unter FreeBSD, NetBSD und OpenBSD jedoch sind sie |
| standardmäßig deaktiviert, um den Systemgrundsätzen |
| dieser Plattformen zu entsprechen. Auf Systemen, wo dies |
| standardmäßig dekativiert ist, kann dieses Verhalten mit |
| einem speziellen <program>configure</program>-Parameter für den |
| httpd geändert werden.</p> |
| |
| <p>Auf der anderen Seite ist die Verwendung von gemappten Adressen |
| bei einigen Plattformen wie Linux und True64 der |
| <strong>einzige</strong> Weg, sowohl IPv4 wie auch IPv6 zu |
| verwenden. Wenn Sie möchten, dass der <code>httpd</code> IPv4- |
| und IPv6-Verbindungen mit einem Minimum an Sockets behandelt, was |
| die Verwendung von IPv4-gemappten IPv6-Adressen erfordert, dann |
| müssen Sie die <program> configure</program>-Option |
| <code>--enable-v4-mapped</code> angeben.</p> |
| |
| <p><code>--enable-v4-mapped</code> ist die Voreinstellung auf allen |
| Plattformen außer FreeBSD, NetBSD und OpenBSD, so dass Ihr |
| httpd wahrscheinlich so übersetzt wurde.</p> |
| |
| <p>Geben Sie wie in dem folgenden Beispiel bei allen <directive |
| module="mpm_common">Listen</directive>-Anweisungen eine IPv4-Adresse |
| an, wenn Sie möchten, dass Ihr httpd lediglich IPv4-Adressen |
| behandelt, unabhängig davon, was Ihre Plattform und die APR |
| unterstützen:</p> |
| |
| <example> |
| <highlight language="config"> |
| Listen 0.0.0.0:80 |
| Listen 192.0.2.1:80 |
| </highlight> |
| </example> |
| |
| <p>Wenn Sie möchten, dass der httpd IPv4- und IPv6-Verbindungen |
| an separaten Sockets behandelt (d.h. IPv4-gemappte Adressen |
| deaktiviert werden sollen) und Ihre Plattform es unterstützt, |
| dann müssen Sie die <program>configure</program>-Option |
| <code>--disable-v4-mapped</code> angeben. Unter FreeBSD, NetBSD und |
| OpenBSD ist <code>--disable-v4-mapped</code> voreingestellt.</p> |
| </section> |
| |
| <section id="protocol"> |
| <title>Angabe des Protokolls bei Listen</title> |
| <p>Das optionale zweite <var>Protokoll</var>-Argument von <directive |
| module="mpm_common">Listen</directive> ist für die meisten |
| Konfigurationen gar nicht erforderlich. Wenn nicht angegeben, sind |
| <code>https</code> für Port 443 und <code>http</code> für |
| alle anderen Ports die Voreinstellungen. Die Protokollangabe wird |
| sowohl dazu verwendet, herauszufinden, welches Modul Anfragen |
| verarbeiten soll, als auch, um protokollspezifische Optimierungen |
| bei der <directive module="core">AcceptFilter</directive>-Direktive |
| zu aktivieren.</p> |
| |
| <p>Sie müssen das Protokoll nur angeben, wenn Sie |
| ungewöhnliche Ports benutzen, beispielsweise <code>https</code> |
| auf Port 8443:</p> |
| |
| <example> |
| <highlight language="config"> |
| Listen 192.170.2.1:8443 https |
| </highlight> |
| </example> |
| </section> |
| |
| <section id="virtualhost"> |
| <title>Das Zusammenspiel mit virtuellen Hosts</title> |
| |
| <p>Die Direktive <directive module="mpm_common">Listen</directive> |
| implementiert keine virtuellen Hosts - sie teilt dem Hauptserver |
| lediglich mit, an welchen Adressen und Ports er zu lauschen hat. |
| Werden keine <directive module="core" |
| type="section">VirtualHost</directive>-Container verwendet, dann |
| verhält sich der Server bei allen angenommenen Anfragen gleich. |
| <directive module="core" |
| type="section">VirtualHost</directive>-Abschnitte können jedoch |
| dazu verwendet werden, ein unterschiedliches Verhalten für eine |
| oder mehrere Adressen und Ports festzulegen. Um einen virtuellen |
| Host einzurichten, muss dem Server zunächst mitgeteilt werden, |
| an den betreffenden Adressen oder Ports zu lauschen. Dann sollte ein |
| <directive module="core" |
| type="section">VirtualHost</directive>-Abschnitt für die |
| angebene Adresse und den angegebenen Port erstellt werden, um das |
| Verhalten dieses virtuellen Hosts festzulegen. Beachten Sie bitte, |
| dass auf einen <directive module="core" |
| type="section">VirtualHost</directive> nicht zugegriffen werden |
| kann, wenn er für eine Adresse und einen Port eingerichtet |
| wurde, an dem der Server nicht lauscht.</p> |
| </section> |
| </manualpage> |
| |