mirror of
				https://github.com/apache/httpd.git
				synced 2025-11-03 17:53:20 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@77050 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			101 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
<html><head>
 | 
						|
<title>Setting which addresses and ports Apache uses</title>
 | 
						|
</head><body>
 | 
						|
 | 
						|
<!--#include virtual="header.html" -->
 | 
						|
<h1>Setting which addresses and ports Apache uses</h1>
 | 
						|
 | 
						|
<hr>
 | 
						|
 | 
						|
When Apache starts, it connects to some port and address on the
 | 
						|
local machine and waits for incoming requests. By default, it
 | 
						|
listens to all addresses on the machine, and to the port
 | 
						|
as specified by the <tt>Port</tt> directive in the server configuration.
 | 
						|
However, it can be told to listen to more the one port, or to listen
 | 
						|
to 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>
 | 
						|
 | 
						|
There are two directives used to restrict or specify which addresses
 | 
						|
and ports Apache listens to.
 | 
						|
 | 
						|
<ul>
 | 
						|
<li><a href="#bindaddress">BindAddress</a> is used to restrict the server to listening to
 | 
						|
  a single address, and can be used to permit multiple Apache servers
 | 
						|
  on the same machine listening to different IP addresses.
 | 
						|
<li><a href="#listen">Listen</a> can be used to make a single Apache server listen
 | 
						|
  to more than one address and/or port.
 | 
						|
</ul>
 | 
						|
 | 
						|
<h3><a name="bindaddress">BindAddress</a></h3>
 | 
						|
<strong>Syntax:</strong> BindAddress <em>[ * | IP-address | hostname ]</em><br>
 | 
						|
<strong>Default:</strong> <code>BindAddress *</code><br>
 | 
						|
<strong>Context:</strong> server config<br>
 | 
						|
<strong>Status:</strong> Core<p>
 | 
						|
 | 
						|
Makes the server listen to just the specified address. If the argument
 | 
						|
is *, the server listens to all addresses. The port listened to
 | 
						|
is set with the <tt>Port</tt> directive. Only one BindAddress
 | 
						|
should be used.
 | 
						|
 | 
						|
<h3><a name="listen">Listen</a></h3>
 | 
						|
<strong>Syntax:</strong> Listen <em>[ port | IP-address:port ]</em><br>
 | 
						|
<strong>Default:</strong> <code>none</code><br>
 | 
						|
<strong>Context:</strong> server config<br>
 | 
						|
<strong>Status:</strong> Core<p>
 | 
						|
 | 
						|
<tt>Listen</tt> can be used instead of <tt>BindAddress</tt> and
 | 
						|
<tt>Port</tt>. It tells the server to accept incoming requests on the
 | 
						|
specified port or address-and-port combination. If the first format is
 | 
						|
used, with a port number only, the server listens to the given port on
 | 
						|
all interfaces, instead of the port given by the <tt>Port</tt>
 | 
						|
directive. If an IP address is given as well as a port, the server
 | 
						|
will listen on the given port and interface.  <p> Multiple Listen
 | 
						|
directives may be used to specify a number of addresses and ports to
 | 
						|
listen to. The server will respond to requests from any of the listed
 | 
						|
addresses and ports.<p>
 | 
						|
 | 
						|
For example, to make the server accept connections on both port
 | 
						|
80 and port 8000, use:
 | 
						|
<pre>
 | 
						|
   Listen 80
 | 
						|
   Listen 8000
 | 
						|
</pre>
 | 
						|
 | 
						|
To make the server accept connections on two specified
 | 
						|
interfaces and port numbers, use
 | 
						|
<pre>
 | 
						|
   Listen 192.170.2.1:80
 | 
						|
   Listen 192.170.2.5:8000
 | 
						|
</pre>
 | 
						|
 | 
						|
<h2>How this works with Virtual Hosts</h2>
 | 
						|
 | 
						|
BindAddress and Listen do not implement Virtual Hosts. They tell the
 | 
						|
main server what addresses and ports to listen to.  If no
 | 
						|
<VirtualHost> directives are used, the server will behave the
 | 
						|
same for all accepted requests. However, <VirtualHost> can be
 | 
						|
used to specify a different behavour 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
 | 
						|
<VirtualHost> section should be created for a specified address
 | 
						|
and port to set the behaviour of this virtual host. Note that if the
 | 
						|
<VirtualHost> is set for an address and port that the server is
 | 
						|
not listening to, it cannot be accessed.
 | 
						|
 | 
						|
<h2>See also</h2>
 | 
						|
 | 
						|
See also the documentation on
 | 
						|
<a href="virtual-host.html">Virtual Hosts</a>,
 | 
						|
<a href="host.html">Non-IP virtual hosts</a>,
 | 
						|
<a href="mod/core.html#bindaddress">BindAddress directive</a>,
 | 
						|
<a href="mod/core.html#port">Port directive</a>
 | 
						|
and
 | 
						|
<a href="mod/core.html#virtualhost"><VirtualHost> section</a>.
 | 
						|
</ul>
 | 
						|
 | 
						|
<!--#include virtual="footer.html" -->
 | 
						|
</BODY>
 | 
						|
</HTML>
 | 
						|
 |