]> granicus.if.org Git - apache/blob - docs/manual/bind.html.en
update transformation: part V/V
[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       -->
8 <title>Binding - Apache HTTP Server</title>
9 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <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>
15 <p class="apache">Apache HTTP Server Version 2.1</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
18 <div id="path">
19 <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.1</a></div><div id="page-content"><div id="preamble"><h1>Binding</h1>
20     <p>Configuring Apache to listen on specific addresses and ports.</p>
21   </div>
22 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Overview</a></li>
23 <li><img alt="" src="./images/down.gif" /> <a href="#ipv6">Special IPv6 Considerations</a></li>
24 <li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">How This Works With Virtual Hosts</a></li>
25 </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>
26 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
27 <div class="section">
28 <h2><a name="overview" id="overview">Overview</a></h2>
29     
30     
31     <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>
32     
33     
34     <p>When Apache starts, it binds to some port and address on
35     the local machine and waits for incoming requests. By default,
36     it listens to all addresses on the machine.  However, it needs to
37     be told to listen on specific ports, or to listen on only selected 
38     addresses, or a combination. This is often combined with the 
39     Virtual Host feature which determines how Apache responds to 
40     different IP addresses, hostnames and ports.</p>
41
42     <p>The <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>
43     directive tells the server to accept
44     incoming requests only on the specified port or
45     address-and-port combinations. If only a port number is
46     specified in the <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>
47     directive, the server
48     listens to the given port on all interfaces. If an IP address
49     is given as well as a port, the server will listen on the given
50     port and interface. Multiple Listen directives may be used to
51     specify a number of addresses and ports to listen on. The
52     server will respond to requests from any of the listed
53     addresses and ports.</p>
54
55     <p>For example, to make the server accept connections on both
56     port 80 and port 8000, use:</p>
57
58     <div class="example"><p><code>
59       Listen 80<br />
60       Listen 8000
61     </code></p></div>
62
63     <p>To make the server accept connections on two specified
64     interfaces and port numbers, use</p>
65
66     <div class="example"><p><code>
67       Listen 192.170.2.1:80<br />
68       Listen 192.170.2.5:8000
69     </code></p></div>
70
71     <p>IPv6 addresses must be surrounded in square brackets, as in the
72     following example:</p>
73
74     <div class="example"><p><code>
75       Listen [fe80::a00:20ff:fea7:ccea]:80
76     </code></p></div>
77   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
78 <div class="section">
79 <h2><a name="ipv6" id="ipv6">Special IPv6 Considerations</a></h2>
80     
81
82     <p>When APR supports IPv6, Apache will create IPv6-capable listening
83     sockets by default (i.e., when no IP address is specified on the
84     Listen directive).  In other words, when APR supports IPv6,</p>
85
86     <div class="example"><p><code>
87       Listen 80
88     </code></p></div>
89
90     <p>is equivalent to</p>
91
92     <div class="example"><p><code>
93       Listen [::]:80
94     </code></p></div>
95
96     <p>When APR does not support IPv6,</p>
97
98     <div class="example"><p><code>
99       Listen 80
100     </code></p></div>
101
102     <p>is equivalent to</p>
103
104     <div class="example"><p><code>
105       Listen 0.0.0.0:80
106     </code></p></div>
107
108     <p>On some platforms, such as NetBSD, binding to the IPv6 wildcard address 
109     ("::") does not allow Apache to accept connections on IPv4 interfaces.
110     In this situation, multiple Listen directives are required, as shown
111     below:</p>
112
113     <div class="example"><p><code>
114       Listen 0.0.0.0:80<br />
115       Listen [::]:0
116     </code></p></div>
117
118     <p>Apache does not currently detect this, so the Listen statements must
119     be edited manually by the administrator.</p>
120   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
121 <div class="section">
122 <h2><a name="virtualhost" id="virtualhost">How This Works With Virtual Hosts</a></h2>
123     
124
125     <p>Listen does not implement Virtual Hosts. It only tells the
126     main server what addresses and ports to listen to. If no
127     <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
128     directives are used, the server will behave
129     the same for all accepted requests. However,
130     <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
131     can be used to specify a different behavior
132     for one or more of the addresses and ports. To implement a
133     VirtualHost, the server must first be told to listen to the
134     address and port to be used. Then a
135     <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> section
136     should be created for a specified address and port to set the
137     behavior of this virtual host. Note that if the
138     <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
139     is set for an address and port that the
140     server is not listening to, it cannot be accessed.</p>
141   </div></div>
142 <div id="footer">
143 <p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p>
144 <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>
145 </body></html>