
¿Cómo puedo tenerlo donde tengo una dirección IP que se encuentra en Internet pero muchos nombres web? Por ejemplo, cuando una empresa de hosting tiene una IP compartida pero obtengo nombres de dominio ilimitados (junto con todos los demás en ese cuadro).
Tengo un cuadro en Internet, pero quiero señalar otra máquina que tiene un sitio web diferente cuando alguien escribe el www diferente... (está justo al lado en un cuadro diferente). ¿Es todo eso subdominio? Gracias.
soy la empresa de hosting
Respuesta1
Es parte del protocolo HTTP 1.1.
Específicamente, el protocolo HTTP 1.1 incluye un encabezado llamado "host:" que especifica a qué sitio web de un servidor en particular intenta acceder el cliente.
Entonces, si snoopy.net y woodstock.org comparten 192.0.32.10 y su navegador intenta obtener contenido de http://snoopy.net/doghouse
la solicitud http específica, se vería así:
GET /doghouse HTTP/1.1
Host: snoopy.net
Si la URL deseada es http://woodstock.org/seeds
la solicitud se vería así
GET /seeds HTTP/1.1
Host: woodstock.org
En ambos casos, habrá un socket tcp entre su computadora y el puerto 80 del servidor. El servidor sabría obtener contenido de /var/www/snoopy.net o /var/www/woodstock.org/ según el encabezado del Host.
Habría otros encabezados para cookies y otras cosas como el tipo de navegador y el contenido permitido, pero el encabezado "Host" específicamente es lo que permite al servidor web saber qué sitio web virtual desea.
Hay más en elRFC2616.
Esta es también la razón por la que los sitios httpsdebe** tienen su propia dirección IP: el intercambio de claves SSL y la verificación del certificado se realizan antes de la transacción http, por lo que el servidor http no sabrá que debe entregar el certificado para "woodstock.org" o "snoopy.net" cuando recibe una conexión https en el puerto 443 de 192.0.32.10.
editar
** en los comentariosgravedadseñala que hay extensiones de SSL en la especificación TLS que permiten al servidor saber a qué sitio web intenta acceder el usuario, y que la mayoría de los navegadores web modernos tienen estas extensiones, por lo quedebeEs un poco demasiado fuerte.
Respuesta2
Hay algo que todos los navegadores modernos envían junto con la solicitud, llamado encabezado "Host:".
La solicitud real que Firefox envía para esta página es:
Anfitrión: superusuario.com Agente de usuario: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729) Aceptar: texto/html,aplicación/xhtml+xml,aplicación/xml;q=0.9,*/*;q=0.8 Idioma aceptado: en-us,en;q=0.5 Aceptar codificación: gzip, desinflar Juego de caracteres aceptado: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Mantener vivo: 300 Conexión: mantener vivo
Como puedes ver, el
Anfitrión: superusuario.combit identifica el sitio web en cuestión.
En IIS y Apache, puede configurar sitios web virtuales que solo acepten solicitudes de una combinación IP/Host específica.
En cuanto a su problema particular, deberá leer cómo su empresa de alojamiento en particular quiere que solicite la configuración.
Respuesta3
La técnica para alojar más de un dominio/subdominio en una única dirección IP/host se llamaanfitriones virtuales. La solicitud http get contiene el nombre de dominio para el que corresponde la solicitud, lo que permite al servidor web hacer coincidir la solicitud con un dominio virtual en particular.
Si tiene varios hosts físicos internamente con una sola IP externa, entonces querrá considerar la posibilidad de configurarlos.proxy inversopara reenviar las solicitudes a la máquina/dirección IP interna correcta.
Respuesta4
En breve...
Uno: configure las entradas DNS para sus distintos dominios para que apunten a su casilla.
Dos: como lo describen otros, configure su servidor web (no dice cuál) para que coincida con el nombre de host solicitado.
De esa manera, todas las solicitudes de todos sus dominios van a la misma máquina y su configuración toma el dominio solicitado y lo enruta a la carpeta correcta que contiene el contenido de ese sitio.