]> granicus.if.org Git - apache/blob - docs/manual/bind.html.en
Transform updates.
[apache] / docs / manual / bind.html.en
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="en" xml:lang="en"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       --><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="./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>
8     <p>Configuring Apache to listen on specific addresses and ports.</p>
9   </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>
10     
11     
12     <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>
13     
14     
15     <p>When Apache starts, it binds to some port and address on
16     the local machine and waits for incoming requests. By default,
17     it listens to all addresses on the machine.  However, it needs to
18     be told to listen on specific ports, or to listen on only selected 
19     addresses, or a combination. This is often combined with the 
20     Virtual Host feature which determines how Apache responds to 
21     different IP addresses, hostnames and ports.</p>
22
23     <p>The <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>
24     directive tells the server to accept
25     incoming requests only on the specified port or
26     address-and-port combinations. If only a port number is
27     specified in the <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>
28     directive, the server
29     listens to the given port on all interfaces. If an IP address
30     is given as well as a port, the server will listen on the given
31     port and interface. Multiple Listen directives may be used to
32     specify a number of addresses and ports to listen on. The
33     server will respond to requests from any of the listed
34     addresses and ports.</p>
35
36     <p>For example, to make the server accept connections on both
37     port 80 and port 8000, use:</p>
38
39     <div class="example"><p><code>
40       Listen 80<br />
41       Listen 8000
42     </code></p></div>
43
44     <p>To make the server accept connections on two specified
45     interfaces and port numbers, use</p>
46
47     <div class="example"><p><code>
48       Listen 192.170.2.1:80<br />
49       Listen 192.170.2.5:8000
50     </code></p></div>
51
52     <p>IPv6 addresses must be surrounded in square brackets, as in the
53     following example:</p>
54
55     <div class="example"><p><code>
56       Listen [fe80::a00:20ff:fea7:ccea]:80
57     </code></p></div>
58   </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>
59     
60
61     <p>When APR supports IPv6, Apache will create IPv6-capable listening
62     sockets by default (i.e., when no IP address is specified on the
63     Listen directive).  In other words, when APR supports IPv6,</p>
64
65     <div class="example"><p><code>
66       Listen 80
67     </code></p></div>
68
69     <p>is equivalent to</p>
70
71     <div class="example"><p><code>
72       Listen [::]:80
73     </code></p></div>
74
75     <p>When APR does not support IPv6,</p>
76
77     <div class="example"><p><code>
78       Listen 80
79     </code></p></div>
80
81     <p>is equivalent to</p>
82
83     <div class="example"><p><code>
84       Listen 0.0.0.0:80
85     </code></p></div>
86
87     <p>On some platforms, such as NetBSD, binding to the IPv6 wildcard address 
88     ("::") does not allow Apache to accept connections on IPv4 interfaces.
89     In this situation, multiple Listen directives are required, as shown
90     below:</p>
91
92     <div class="example"><p><code>
93       Listen 0.0.0.0:80<br />
94       Listen [::]:0
95     </code></p></div>
96
97     <p>Apache does not currently detect this, so the Listen statements must
98     be edited manually by the administrator.</p>
99   </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>
100     
101
102     <p>Listen does not implement Virtual Hosts. It only tells the
103     main server what addresses and ports to listen to. If no
104     <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
105     directives are used, the server will behave
106     the same for all accepted requests. However,
107     <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
108     can be used to specify a different behavior
109     for one or more of the addresses and ports. To implement a
110     VirtualHost, the server must first be told to listen to the
111     address and port to be used. Then a
112     <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> section
113     should be created for a specified address and port to set the
114     behavior of this virtual host. Note that if the
115     <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
116     is set for an address and port that the
117     server is not listening to, it cannot be accessed.</p>
118   </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>