<-
Apache > Servidor HTTP > Documentaci�n > Versi�n 2.0

Direcciones IP y puertos de escucha

Idiomas disponibles:  en  |  es  |  fr  |  ja  |  ko 

C�mo configurar Apache para que escuche en direcciones IP y puertos espec�ficos.

Consulte tambi�n

top

Introducci�n

Cuando Apache se inicia, comienza a esperar peticiones entrantes en determinados puertos y direcciones de la m�quina en la que se est� ejecutando. Sin embargo, si quiere que Apache escuche solamente en determinados puertos espec�ficos, o solamente en determinadas direcciones, o en una combinaci�n de ambos, debe especificarlo adecuadamente. Esto puede adem�s combinarlo con la posibilidad de usar hosts virtuales, funcionalidad con la que un servidor Apache puede responder a peticiones en diferentes direcciones IP, diferentes nombres de hosts y diferentes puertos.

La directiva Listen le indica al servidor que acepte peticiones entrantes solamente en los puertos y en las combinaciones de puertos y direcciones que se especifiquen. Si solo se especifica un n�mero de puerto en la directiva Listen el servidor escuchar� en ese puerto, en todas las interfaces de red de la m�quina. Si se especifica una direcci�n IP y un puerto, el servidor escuchar� solamente en la interfaz de red a la que pertenezca esa direcci�n IP y solamente en el puerto indicado. Se pueden usar varias directivas Listen para especificar varias direcciones IP y puertos de escucha. El servidor responder� a las peticiones de todas las direcciones y puertos que se incluyan.

Por ejemplo, para hacer que el servidor acepte conexiones tanto en el puerto 80 como en el puerto 8000, puede usar:

Listen 80
Listen 8000

Para hacer que el servidor acepte conexiones en dos interfaces de red y puertos espec�ficos, use

Listen 192.170.2.1:80
Listen 192.170.2.5:8000

Las direcciones IPv6 deben escribirse entre corchetes, como en el siguiente ejemplo:

Listen [fe80::a00:20ff:fea7:ccea]:80

top

Consideraciones especiales para IPv6

Cada vez m�s plataformas implementan IPv6, y APR soporta IPv6 en la mayor parte de esas plataformas, permitiendo que Apache use sockets IPv6 y pueda tratar las peticiones que se env�an con IPv6.

Un factor de complejidad para los administradores de Apache es si un socket IPv6 puede tratar tanto conexiones IPv4 como IPv6. Para tratar conexiones IPv4 con sockets IPv6 se utiliza un traductor de direcciones IPv4-IPv6, cuyo uso est� permitido por defecto en la mayor parte de las plataformas, pero que est� desactivado por defecto en FreeBSD, NetBSD, y OpenBSD para cumplir con la pol�tica system-wide en esas palaformas. Pero incluso en los sistemas en los que no est� permitido su uso por defecto, un par�metro especial de configure puede modificar ese comportamiento.

Si quiere que Apache trate conexiones IPv4 y IPv6 con un m�nimo de sockets, lo que requiere traducir direcciones IPv4 a IPv6, especifique la opci�n de configure --enable-v4-mapped y use directivas Listen gen�ricas de la siguiente forma:

Listen 80

Con --enable-v4-mapped, las directivas Listen en el fichero de configuraci�n por defecto creado por Apache usar�n ese formato. --enable-v4-mapped es el valor por defecto en todas las plataformas excepto en FreeBSD, NetBSD, y OpenBSD, de modo que esa es probablemente la manera en que su servidor Apache fue construido.

Si quiere que Apache solo procese conexiones IPv4, sin tener en cuenta cu�l es su plataforma o qu� soporta APR, especifique una direcci�n IPv4 en todas las directivas Listen, como en estos ejemplos:

Listen 0.0.0.0:80
Listen 192.170.2.1:80

Si quiere que Apache procese conexiones IPv4 y IPv6 en sockets diferentes (es decir, deshabilitar la conversi�n de direcciones IPv4 a IPv6), especifique la opci�n de configure --disable-v4-mapped y use directivas Listen espec�ficas como en el siguiente ejemplo:

Listen [::]:80
Listen 0.0.0.0:80

Con --disable-v4-mapped, las directivas Listen en el fichero de configuraci�n que Apache crea por defecto usar�n ese formato. --disable-v4-mapped se usa por defecto en FreeBSD, NetBSD, y OpenBSD.

top

C�mo funciona este mecanismo en hosts virtuales

Listen no implementa hosts virtuales. Solo le dice al servidor principal en qu� direcciones y puertos tiene que escuchar. Si no se usan directivas <VirtualHost>, el servidor se comporta de la misma manera con todas las peticiones que se acepten. Sin embargo, <VirtualHost> puede usarse para especificar un comportamiento diferente en una o varias direcciones y puertos. Para implementar un host virtual, hay que indicarle primero al servidor que escuche en aquellas direcciones y puertos a usar. Entonces se debe crear un una secci�n <VirtualHost> en una direcci�n y puerto espec�ficos para determinar el comportamiento de ese host virtual. Tenga en cuenta que si se especifica en una secci�n <VirtualHost> una direcci�n y puerto en los que el servidor no est� escuchando, ese host virtual no podr� ser accedido.

Idiomas disponibles:  en  |  es  |  fr  |  ja  |  ko