Configurando Apache HTTP Server para que escuche en una dirección y puertos específicos.
Cuando httpd se ejecuta, se mapea a una dirección y un puerto en la
máquina local, y espera a recibir peticiones. Por defecto, escucha en
todas las direcciones de la máquina. Ahora bien, se le puede especificar
que escuche en un determinado puerto, o en una sola dirección IP especifica,
o una combinación de ambos. A menudo esto se combina con la característica
de los Hosts virtuales, que determina como responde el
httpd
a diferentes direcciones IP, nombres de máquinas y puertos.
La directiva
Por ejemplo, para hacer que el servidor escuche en ambos puertos 80 y 8080 en todas sus interfaces de red, se usa lo siguiente:
Para hacer que el servidor acepte peticiones en el puerto 80 en una sola interfaz de red, usaremos:
Las direcciones IPv6 deberán ir entre '[ ]' corchetes como en el siguiente ejemplo:
Si se superponen directivas de tipo
Puede mirar el articulo de la wiki de consejos para solucionar problemas relacionados.
Cuando httpd se reinicia, hay que tener especial consideración en los
cambios que se realicen a la directiva
Por ejemplo, cambiar de la configuración:
a la siguiente configuración, es probable que falle, porque mapear el puerto 80 a todas las direcciones, entra en conflicto con sólo mapear el puerto 80 a la 127.0.0.1.
Para que este tipo de cambios surtan efecto, es necesario parar el servidor, y después iniciarlo.
Un creciente número de plataformas implementan ya IPv6, y
Un factor bastante complejo para un administrador del httpd
es si un socket IPv6 puede o no manejar tanto conexiones IPv6
como IPv4. El manejo por httpd de conexiones IPv4 con socket IPv6
se debe al mapeo de direcciones IPv4 sobre IPv6, que
está permitido por defecto en muchas plataformas, pero no lo está
en sistemas FreeBSD, NetBSD y Open BSD, con el fin de que en estas
plataformas, cumpla con la política del sistema.
En los sistemas que no está permitido el mapeo por defecto,
existe un parámetro de
Por otro lado, en algunas plataformas, como Linux y True64, la
única forma para el manejo de IPv4 e IPv6 al mismo
tiempo es mediante direcciones mapeadas.
Si quieres que httpd
maneje amos tipos de conexiones IPv4 e IPv6
con el mínimo de sockets, hay que especificar la opción
--enable-v4-mapped
al
--enable-v4-mapped
es la opción que está estipulada por defecto
en todos los sistemas menos en FreeBSD, NetBSD y Open BSD, por
lo que es probablemente como se compiló su httpd.
Si lo que quiere es manejar sólo conexiones IPv4, independientemente de
lo que soporten
Si en cambio, su plataforma lo soporta, y lo que quiere es que su httpd
soporte tanto conexiones IPv4 como IPv6 en diferentes sockets (ejemplo.: para
deshabilitar mapeo de direcciones IPv4), especifique la opción
--disable-v4-mapped
al --disable-v4-mapped
es la opción por defecto
en FreeBSD, NetBSD y OpenBSD.
El segundo argumento en la directiva https
es el protocolo
usado por defecto en el puerto 443 y http
para el resto.
El protocolo se utiliza para determinar que módulo deberá manejar la petición,
y se le aplicarán optimizaciones específicas del protocolo con la directiva
Sólo necesitará especificar el protocolo si no está escuchando en un puerto
de los que son estándares, por ejemplo si ejecuta un sitio web https
en el puerto 8443:
La directiva