| <?xml version="1.0" encoding="ISO-8859-1"?> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> |
| <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> |
| <meta content="noindex, nofollow" name="robots" /> |
| <!-- |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| This file is generated from xml source: DO NOT EDIT |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| --> |
| <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" /><link href="http://httpd.apache.org/docs/current/bind.html" rel="canonical" /></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="<-" alt="<-" src="./images/left.gif" /></a></div> |
| <div id="path"> |
| <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.0</a></div><div id="page-content"><div class="retired"><h4>Please note</h4> |
| <p>This document refers to the <strong>2.0</strong> version of Apache httpd, which <strong>is no longer maintained</strong>. Upgrade, and refer to the current version of httpd instead, documented at:</p> |
| <ul><li><a href="http://httpd.apache.org/docs/current/">Current release version of Apache HTTP Server documentation</a></li></ul><p>You may follow <a href="http://httpd.apache.org/docs/current/bind.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Binding</h1> |
| <div class="toplang"> |
| <p><span>Available Languages: </span><a href="./en/bind.html" title="English"> en </a> | |
| <a href="./es/bind.html" hreflang="es" rel="alternate" title="Español"> es </a> | |
| <a href="./fr/bind.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | |
| <a href="./ja/bind.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="./ko/bind.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="./tr/bind.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> |
| </div> |
| |
| <p>Configuring Apache to listen on specific addresses and ports.</p> |
| </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> |
| |
| |
| <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> |
| |
| |
| <p>When Apache starts, it binds to some port and address on |
| the local machine and waits for incoming requests. By default, |
| it listens to all addresses on the machine. However, it needs to |
| be told to listen on specific ports, or to listen on only selected |
| addresses, or a combination. This is often combined with the |
| Virtual Host feature which determines how Apache responds to |
| different IP addresses, hostnames and ports.</p> |
| |
| <p>The <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> |
| directive tells the server to accept |
| incoming requests only on the specified port or |
| address-and-port combinations. If only a port number is |
| specified in the <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> |
| directive, the server |
| listens to the given port on all interfaces. If an IP address |
| is given as well as a port, the server will listen on the given |
| port and interface. Multiple <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> directives may be used to |
| specify a number of addresses and ports to listen on. The |
| server will respond to requests from any of the listed |
| addresses and ports.</p> |
| |
| <p>For example, to make the server accept connections on both |
| port 80 and port 8000, use:</p> |
| |
| <div class="example"><p><code> |
| Listen 80<br /> |
| Listen 8000 |
| </code></p></div> |
| |
| <p>To make the server accept connections on two specified |
| interfaces and port numbers, use</p> |
| |
| <div class="example"><p><code> |
| Listen 192.170.2.1:80<br /> |
| Listen 192.170.2.5:8000 |
| </code></p></div> |
| |
| <p>IPv6 addresses must be surrounded in square brackets, as in the |
| following example:</p> |
| |
| <div class="example"><p><code> |
| Listen [2001:db8::a00:20ff:fea7:ccea]:80 |
| </code></p></div> |
| </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> |
| |
| |
| <p>A growing number of platforms implement IPv6, and APR supports |
| IPv6 on most of these platforms, allowing Apache to allocate IPv6 |
| sockets and handle requests which were sent over IPv6.</p> |
| |
| <p>One complicating factor for Apache administrators is whether or |
| not an IPv6 socket can handle both IPv4 connections and IPv6 |
| connections. Handling IPv4 connections with an IPv6 socket uses |
| IPv4-mapped IPv6 addresses, which are allowed by default on most |
| platforms but are disallowed by default on FreeBSD, NetBSD, and |
| OpenBSD in order to match the system-wide policy on those |
| platforms. But even on systems where it is disallowed by default, a |
| special <code class="program"><a href="./programs/configure.html">configure</a></code> parameter can change this behavior |
| for Apache.</p> |
| |
| <p>If you want Apache to handle IPv4 and IPv6 connections with a |
| minimum of sockets, which requires using IPv4-mapped IPv6 addresses, |
| specify the <code>--enable-v4-mapped</code> <code class="program"><a href="./programs/configure.html">configure</a></code> |
| option and use generic <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> |
| directives like the following:</p> |
| |
| <div class="example"><p><code> |
| Listen 80 |
| </code></p></div> |
| |
| <p>With <code>--enable-v4-mapped</code>, the Listen directives in the |
| default configuration file created by Apache will use this form. |
| <code>--enable-v4-mapped</code> is the default on all platforms but |
| FreeBSD, NetBSD, and OpenBSD, so this is probably how your Apache was |
| built.</p> |
| |
| <p>If you want Apache to handle IPv4 connections only, regardless of |
| what your platform and APR will support, specify an IPv4 address on all |
| <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> directives, as in the |
| following examples:</p> |
| |
| <div class="example"><p><code> |
| Listen 0.0.0.0:80<br /> |
| Listen 192.170.2.1:80 |
| </code></p></div> |
| |
| <p>If you want Apache to handle IPv4 and IPv6 connections on separate |
| sockets (i.e., to disable IPv4-mapped addresses), specify the |
| <code>--disable-v4-mapped</code> <code class="program"><a href="./programs/configure.html">configure</a></code> option and |
| use specific Listen directives like the following:</p> |
| |
| <div class="example"><p><code> |
| Listen [::]:80<br /> |
| Listen 0.0.0.0:80 |
| </code></p></div> |
| |
| <p>With <code>--disable-v4-mapped</code>, the Listen directives in the |
| default configuration file created by Apache will use this form. |
| <code>--disable-v4-mapped</code> is the default on FreeBSD, NetBSD, and |
| OpenBSD.</p> |
| |
| </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> |
| |
| |
| <p><code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> does not implement |
| Virtual Hosts. It only tells the main server what addresses and ports to |
| listen to. If no <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code> directives are used, the server will behave |
| the same for all accepted requests. However, |
| <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code> |
| can be used to specify a different behavior |
| for one or more of the addresses and ports. To implement a |
| VirtualHost, the server must first be told to listen to the |
| address and port to be used. Then a |
| <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code> section |
| should be created for a specified address and port to set the |
| behavior of this virtual host. Note that if the |
| <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code> |
| is set for an address and port that the |
| server is not listening to, it cannot be accessed.</p> |
| </div></div> |
| <div class="bottomlang"> |
| <p><span>Available Languages: </span><a href="./en/bind.html" title="English"> en </a> | |
| <a href="./es/bind.html" hreflang="es" rel="alternate" title="Español"> es </a> | |
| <a href="./fr/bind.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | |
| <a href="./ja/bind.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="./ko/bind.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="./tr/bind.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> |
| </div><div id="footer"> |
| <p class="apache">Copyright 2013 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</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> |