stringtranslate.com

Alojamiento virtual

El alojamiento virtual es un método para alojar varios nombres de dominio (con un manejo independiente de cada nombre) en un único servidor (o grupo de servidores). [1] Esto permite que un servidor comparta sus recursos, como la memoria y los ciclos de procesador, sin que sea necesario que todos los servicios que se proporcionan utilicen el mismo nombre de host. El término alojamiento virtual se utiliza habitualmente en referencia a los servidores web , pero los principios se pueden trasladar a otros servicios de Internet .

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

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

El alojamiento virtual basado en nombres y en IP se puede combinar: un servidor puede tener varias direcciones IP y ofrecer varios nombres en algunas o todas esas direcciones IP. Esta técnica puede ser útil cuando se utilizan 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 ofrecer foo.example.com y bar.example.com desde la misma dirección IP, pero necesitaría una dirección IP independiente para baz.example.net.

Basado en el nombre

Los hosts virtuales basados ​​en nombres utilizan múltiples nombres de host para la misma dirección IP .

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

Por ejemplo, un servidor podría recibir 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 sirviera páginas desde /var/www/user/Mary/site/ . De igual modo, dos subdominios del mismo dominio pueden estar alojados juntos. Por ejemplo, un servidor de blogs puede alojar tanto blog1.example.com como blog2.example.com.

El mayor problema con el alojamiento virtual basado en nombres es que es difícil alojar varios sitios web seguros que ejecuten SSL/TLS . Debido a que el protocolo de enlace SSL/TLS tiene lugar antes de que se envíe el nombre de host esperado al servidor, el servidor no sabe qué certificado presentar en el protocolo de enlace. Es posible que un solo certificado cubra varios nombres ya sea a través del campo "subjectaltname" o mediante comodines, pero la aplicación práctica de este enfoque está limitada por consideraciones administrativas y por las reglas de coincidencia para comodines. Existe una extensión de TLS llamada Indicación de nombre de servidor , que presenta el nombre al comienzo del protocolo de enlace para evitar ese problema, excepto para algunos clientes más antiguos (en particular, Internet Explorer en Windows XP o versiones anteriores de Android ) que no implementan SNI .

Además, si el sistema de nombres de dominio (DNS) no funciona correctamente, es difícil acceder a un sitio web alojado virtualmente, incluso si se conoce la dirección IP. Si el usuario intenta volver a utilizar la dirección IP para ponerse en contacto con el sistema, como en http://10.23.45.67/ , el navegador web enviará la dirección IP como nombre de host. Dado que el servidor web depende de que el cliente del navegador web le indique qué nombre de servidor (vhost) utilizar, el servidor responderá con un sitio web predeterminado, que a menudo no es el sitio que el usuario espera.

Una solución alternativa en este caso es agregar la dirección IP y el nombre de host al archivo hosts del sistema cliente . El acceso al servidor con el nombre de dominio debería funcionar nuevamente. Sin embargo, los usuarios deben tener cuidado al hacer esto, ya que cualquier cambio en la verdadera asignación entre el nombre de host y la dirección IP será anulado por la configuración local. Esta solución alternativa no es realmente útil para un usuario web promedio, pero puede ser de alguna utilidad para un administrador de sitio mientras arregla los registros DNS.

Basado en IP

Cuando se utiliza un hosting virtual basado en IP, cada sitio (ya sea un nombre de host DNS o un grupo de nombres de host DNS que actúan de la misma manera) apunta a una dirección IP única. El servidor web está configurado con múltiples interfaces de red físicas, interfaces de red virtuales en la misma interfaz física o múltiples direcciones IP en una interfaz. El servidor web puede abrir sockets de escucha separados para cada dirección IP o puede escuchar en todas las interfaces con un solo socket y obtener la dirección IP en la que se recibió la conexión TCP después de aceptar las conexiones. De cualquier manera, puede usar la dirección IP para determinar qué sitio web servir. El cliente no participa en este proceso y, por lo tanto (a diferencia del hosting virtual basado en nombres) no hay problemas de compatibilidad.

La desventaja de este enfoque es que el servidor necesita una dirección IP diferente para cada sitio web. Esto aumenta la carga administrativa (tanto la asignación de direcciones a los servidores como la justificación del uso de esas direcciones ante los registros de Internet) y contribuye al agotamiento de las direcciones IPv4 .

Usos

El alojamiento web virtual suele utilizarse a gran escala en empresas cuyo modelo de negocio consiste en ofrecer alojamiento web de bajo coste a sus clientes. La gran mayoría de los sitios web de los clientes de servicios de alojamiento web de todo el mundo están alojados en servidores compartidos , utilizando tecnología de alojamiento virtual.

Muchas empresas utilizan servidores virtuales para fines internos, cuando existe una razón tecnológica o administrativa para operar varios sitios web separados, como un sitio web de extranet para clientes, una extranet para empleados, una intranet interna y las intranets para diferentes departamentos. Si no existen problemas de seguridad en las arquitecturas de los sitios web, se pueden fusionar en un solo servidor mediante tecnología de alojamiento virtual, lo que reduce los gastos administrativos y de gestión y la cantidad de servidores separados necesarios para respaldar la empresa.

Véase también

Referencias

  1. ^ "¿Cuántos sitios activos hay?". Netcraft . Archivado desde el original el 30 de abril de 2013. Consultado el 14 de julio de 2018. Hacia 1996-1997, la cantidad de direcciones IP distintas habría sido una buena aproximación a la cantidad de sitios reales, ya que las empresas de alojamiento normalmente asignaban una dirección IP a cada sitio con contenido distinto, y varios nombres de dominio podían apuntar a la dirección IP que se usaba para servir el mismo contenido del sitio. Sin embargo, con la adopción del alojamiento virtual HTTP/1.1 y la disponibilidad de tecnología de equilibrio de carga, es posible alojar de manera confiable una gran cantidad de sitios activos en una sola dirección IP (o relativamente pocas).
  2. ^ Fielding, Roy T.; Reschke, Julian (junio de 2014). Fielding, R.; Reschke, J. (eds.). "Protocolo de transferencia de hipertexto (HTTP/1.1): sintaxis de mensajes y enrutamiento". IETF . doi : 10.17487/RFC7230 . Consultado el 24 de julio de 2014 . {{cite journal}}: Requiere citar revista |journal=( ayuda )

Enlaces externos