10.8. Máquinas Virtuales

La característica incorporada del Servidor Apache HTTP de máquinas virtules permite al servidor servir diferente información basado en cuál dirección IP, nombre de host o puerto está siendo solicitado. Un manual completo para el uso de hosts virtuales está disponible en http://httpd.apache.org/docs-2.0/vhosts/.

10.8.1. Configuración de máquinas virtuales

Para crear un host virtual basado en nombre, lo mejor es utilizar el contenedor del host virtual proporcionado en httpd.conf como un ejemplo.

El ejemplo de máquina virtual se lee como sigue:

#NameVirtualHost *:80
#
#<VirtualHost  *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

Para activar máquinas virtuales basadas en nombre, quite los comentarios de la línea NameVirtualHost eliminando el símbolo de numeral o almohadilla (#) y reemplazando el asterísco (*) con la dirección IP asignada a la máquina.

Luego, configure un host virtual, quitando los comentarios y personalizando el contenedor <VirtualHost>.

En la línea <VirtualHost>, cámbie el asterísco (*) a la dirección IP del servidor. Cambie el ServerName al nombre DNS válido asignado a la máquina y configure las otras directrices si es necesario.

El contenedor <VirtualHost> es altamente personalizable y acepta casi cada directriz dentro de la configuración del servidor principal.

SugerenciaSugerencia
 

Si se está configurando un host virtual para que escuche en un puerto no predeterminado, se debe agregar ese puerto a la directriz Listen en la sección de configuraciones globales del archivo /etc/httpd/conf/http.conf.

Para activar un host virtual creado recientemente, el Servidor Apache HTTP se debe volver a cargar o reiniciar. Consulte la Sección 10.4 para ver las instrucciones sobre como hacer esto.

Se proporciona información completa sobre la creación y configuración de máquinas virtuales basadas en nombre y en dirección IP en http://httpd.apache.org/docs-2.0/vhosts/.

10.8.2. La máquina virtual del servidor Web seguro

Por defecto, el Servidor Apache HTTP es configurado como ambos, un servidor seguro e inseguro. Ambos servidores, seguro e inseguro utilizan la misma dirección IP y nombre de host, pero escuchan en puertos diferentes: 80 y 443 respectivamente. Esto permite que se puedan tener comunicaciones seguras e inseguras simultáneamente.

Un aspecto de las transmisiones HTTP mejoradas con SSL es que estas utilizan más recursos que el protocolo estándar HTTP, por lo que un servidor seguro no puede servir tantas páginas por segundo. Por esta razón, usualmente es una buena idea minimizar la información disponible desde un servidor seguro, especialmente en un sitio Web con bastante tráfico.

ImportanteImportante
 

No utilice un host virtual basado en nombre en conjunto con servidor Web seguro pues el handshake SSL ocurre antes de que la petición HTTP identifique el host virtual basado en nombre apropiado. Las máquinas virtuales basadas en nombre sólo funcionan con los servidores Web inseguros.

Las directrices de configuración para el servidor seguro son contenidas dentro de etiquetas en el archivo /etc/httpd/conf.d/ssl.conf.

Por defecto, los servidores Web seguros e inseguros comparten el mismo DocumentRoot. Se recomienda que el DocumentRoot sea diferente para el servidor Web seguro.

Para prevenir que el servidor Web inseguro acepte conexiones, coloque entre comentarios la línea en httpd.conf que muestra Listen 80 colocando un símbolo de numeral o almohadilla (#) al comienzo de la línea. Cuando termine la línea se verá como en el ejemplo siguiente:

#Listen 80

Para más información sobre la configuración de un servidor Web con mejoras SSL, consulte el capítulo llamado Configuración del servidor seguro HTTP de Apache en el Manual de administración del sistema de Red Hat Enterprise Linux. Para sugerencias más avanzadas, refiérase a la documentación disponible en línea de la Apache Software Foundation en los siguientes URLs: