bind.html.en revision e5168eeed156542fcaa4e506f01a192efc1771f1
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder<?xml version="1.0" encoding="ISO-8859-1"?>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
d71c501e69da3973406558162ad439da2b3464d6Christian Maeder This file is generated from xml source: DO NOT EDIT
d71c501e69da3973406558162ad439da2b3464d6Christian Maeder XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
d71c501e69da3973406558162ad439da2b3464d6Christian Maeder --><title>Binding - 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/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</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="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div><div id="path"><a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs-project/">Documentation</a> &gt; <a href="./">Version 2.0</a></div><div id="page-content"><div id="preamble"><h1>Binding</h1>
d71c501e69da3973406558162ad439da2b3464d6Christian Maeder <p>Configuring Apache to listen on specific addresses and ports.</p>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder </div><div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#overview">Overview</a></li><li><img alt="" src="/images/down.gif" /> <a href="#ipv6">Special IPv6 Considerations</a></li><li><img alt="" src="/images/down.gif" /> <a href="#virtualhost">How This Works With Virtual Hosts</a></li></ul><h3>See also</h3><ul class="seealso"><li><a href="vhosts/">Virtual Hosts</a></li><li><a href="dns-caveats.html">DNS Issues</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="overview" id="overview">Overview</a></h2>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="/mod/core.html">core</a></code></li><li><code class="module"><a href="/mod/mpm_common.html">mpm_common</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/core.html#virtualhost">VirtualHost</a></code></li><li><code class="directive"><a href="/mod/mpm_common.html#listen">Listen</a></code></li></ul></td></tr></table>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder <p>When Apache starts, it binds to some port and address on
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder the local machine and waits for incoming requests. By default,
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder it listens to all addresses on the machine. However, it needs to
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder be told to listen on specific ports, or to listen on only selected
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder addresses, or a combination. This is often combined with the
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder Virtual Host feature which determines how Apache responds to
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder different IP addresses, hostnames and ports.</p>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder <p>The <code class="directive"><a href="/mod/mpm_common.html#listen">Listen</a></code>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder directive tells the server to accept
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder incoming requests only on the specified port or
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder address-and-port combinations. If only a port number is
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder specified in the <code class="directive"><a href="/mod/mpm_common.html#listen">Listen</a></code>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder directive, the server
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder listens to the given port on all interfaces. If an IP address
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder is given as well as a port, the server will listen on the given
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder port and interface. Multiple Listen directives may be used to
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder specify a number of addresses and ports to listen on. The
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder server will respond to requests from any of the listed
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder addresses and ports.</p>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder <p>For example, to make the server accept connections on both
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder port 80 and port 8000, use:</p>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder <div class="example"><p><code>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder Listen 80<br />
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder Listen 8000
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder </code></p></div>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder <p>To make the server accept connections on two specified
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder interfaces and port numbers, use</p>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder <div class="example"><p><code>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder Listen 192.170.2.1:80<br />
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder Listen 192.170.2.5:8000
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder </code></p></div>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder <p>IPv6 addresses must be surrounded in square brackets, as in the
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder following example:</p>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder
ed0055e8e720ca2d07e857e7852de91d47fab9e7Christian Maeder <div class="example"><p><code>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder Listen [fe80::a00:20ff:fea7:ccea]:80
ed0055e8e720ca2d07e857e7852de91d47fab9e7Christian Maeder </code></p></div>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div><div class="section"><h2><a name="ipv6" id="ipv6">Special IPv6 Considerations</a></h2>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder
3db8b71dd1ccc662325b96a5ee8f351ace0293baChristian Maeder
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder <p>When APR supports IPv6, Apache will create IPv6-capable listening
af1cb109bce240bcafe3823df022d6088cbfc438Christian Maeder sockets by default (i.e., when no IP address is specified on the
3db8b71dd1ccc662325b96a5ee8f351ace0293baChristian Maeder Listen directive). In other words, when APR supports IPv6,</p>
3db8b71dd1ccc662325b96a5ee8f351ace0293baChristian Maeder
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder <div class="example"><p><code>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder Listen 80
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder </code></p></div>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder <p>is equivalent to</p>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder <div class="example"><p><code>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder Listen [::]:80
9d3c461220f8076ef80ca48f7b0574ded9b23e7aChristian Maeder </code></p></div>
9d3c461220f8076ef80ca48f7b0574ded9b23e7aChristian Maeder
3db8b71dd1ccc662325b96a5ee8f351ace0293baChristian Maeder <p>When APR does not support IPv6,</p>
3db8b71dd1ccc662325b96a5ee8f351ace0293baChristian Maeder
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder <div class="example"><p><code>
af1cb109bce240bcafe3823df022d6088cbfc438Christian Maeder Listen 80
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder </code></p></div>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder
ed0055e8e720ca2d07e857e7852de91d47fab9e7Christian Maeder <p>is equivalent to</p>
9d3c461220f8076ef80ca48f7b0574ded9b23e7aChristian Maeder
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder <div class="example"><p><code>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder Listen 0.0.0.0:80
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder </code></p></div>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder
ce59e0cc5c7221245ed323290bfccbda4ee32dd9Christian Maeder <p>On some platforms, such as NetBSD, binding to the IPv6 wildcard address
ce59e0cc5c7221245ed323290bfccbda4ee32dd9Christian Maeder ("::") does not allow Apache to accept connections on IPv4 interfaces.
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder In this situation, multiple Listen directives are required, as shown
798a3d6fdcb8c17b0bc3502a150be75c9ec8799bChristian Maeder below:</p>
af1cb109bce240bcafe3823df022d6088cbfc438Christian Maeder
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder <div class="example"><p><code>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder Listen 0.0.0.0:80<br />
3db8b71dd1ccc662325b96a5ee8f351ace0293baChristian Maeder Listen [::]:0
3db8b71dd1ccc662325b96a5ee8f351ace0293baChristian Maeder </code></p></div>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder <p>Apache does not currently detect this, so the Listen statements must
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder be edited manually by the administrator.</p>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div><div class="section"><h2><a name="virtualhost" id="virtualhost">How This Works With Virtual Hosts</a></h2>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder <p>Listen does not implement Virtual Hosts. It only tells the
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder main server what addresses and ports to listen to. If no
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder <code class="directive"><a href="/mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder directives are used, the server will behave
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder the same for all accepted requests. However,
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder <code class="directive"><a href="/mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder can be used to specify a different behavior
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder for one or more of the addresses and ports. To implement a
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder VirtualHost, the server must first be told to listen to the
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder address and port to be used. Then a
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder <code class="directive"><a href="/mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> section
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder should be created for a specified address and port to set the
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder behavior of this virtual host. Note that if the
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder <code class="directive"><a href="/mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
46bf8457679e3dd601af7e35cc0966642ba09794Christian Maeder is set for an address and port that the
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder server is not listening to, it cannot be accessed.</p>
bd8ff5b5f66be563e5be9d3a0c069e32d06f331cChristian Maeder </div></div><div id="footer"><p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p><p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div></body></html>