Alojamiento virtual


El alojamiento virtual es un método para alojar varios nombres de dominio (con manejo independiente de cada nombre) en un solo servidor (o grupo de servidores). [1] Esto permite que un servidor comparta sus recursos, como la memoria y los ciclos del procesador, sin requerir que todos los servicios proporcionados utilicen el mismo nombre de host. El término alojamiento virtual se usa generalmente en referencia a servidores web, pero los principios se trasladan a otros servicios de Internet .

Una aplicación muy utilizada es el alojamiento web compartido . El precio del alojamiento web compartido es más bajo que el de un servidor web dedicado porque muchos clientes pueden alojarse en un solo servidor. También es muy común que una sola entidad desee utilizar varios nombres en la misma máquina para que los nombres reflejen los servicios ofrecidos en lugar de dónde se alojan esos servicios.

Hay dos tipos principales de alojamiento virtual, basado en nombre y basado en IP. El alojamiento virtual basado en nombre utiliza el nombre de host presentado por el cliente. Esto ahorra direcciones IP y la sobrecarga administrativa asociada, pero el protocolo que se sirve debe proporcionar el nombre de host en un punto apropiado. En particular, existen dificultades significativas al utilizar un alojamiento virtual basado en nombres con SSL / TLS . El alojamiento virtual basado en IP utiliza una dirección IP separada para cada nombre de host, y se puede realizar con cualquier protocolo, pero requiere una dirección IP dedicada por cada nombre de dominio servido. El alojamiento virtual basado en puertos también es posible en principio, pero rara vez se usa en la práctica porque no es amigable para los usuarios.

El alojamiento virtual basado en nombre y basado en IP se puede combinar: un servidor puede tener varias direcciones IP y servir varios nombres en algunas o todas esas direcciones IP. Esta técnica puede resultar útil cuando se utiliza SSL / TLS con certificados comodín. Por ejemplo, si un operador de servidor tuviera dos certificados, uno para * .example.com y otro para * .example.net, el operador podría publicar foo.example.com y bar.example.com desde la misma dirección IP, pero necesitaría una dirección IP separada para baz.example.net.

Un requisito previo técnico necesario para los hosts virtuales basados ​​en nombres es un navegador web con soporte HTTP /1.1 (algo común en la actualidad) para incluir el nombre de host de destino en la solicitud. Esto permite que un servidor que aloje varios sitios detrás de una dirección IP entregue el contenido del sitio correcto. Más específicamente, significa configurar el encabezado HTTP del host , que es obligatorio en HTTP / 1.1. [2]

Por ejemplo, un servidor podría estar recibiendo solicitudes para dos dominios, www.example.com y www.example.net , los cuales se resuelven en la misma dirección IP. Para www.example.com , el servidor enviaría el archivo HTML desde el directorio / var / www / user / Joe / site / , mientras que las solicitudes para www.example.net harían que el servidor sirva páginas de / var / www / user / María / sitio / . Igualmente, se pueden alojar juntos dos subdominios del mismo dominio. Por ejemplo, un servidor de blogs puede alojar tanto blog1.example.com como blog2.example.com.