Cómo configurar Apache para que escuche en direcciones IP y puertos específicos.
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
Por ejemplo, para hacer que el servidor acepte conexiones tanto en el puerto 80 como en el puerto 8000, puede usar:
Para hacer que el servidor acepte conexiones en dos interfaces de red y puertos específicos, use
Las direcciones IPv6 deben escribirse entre corchetes, como en el siguiente ejemplo:
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
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 --enable-v4-mapped
y use directivas
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
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
--disable-v4-mapped
y
use directivas Listen específicas como en el siguiente ejemplo:
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.