Estoy ejecutando varios servidores web en mi casa, cada uno de los cuales está conectado a mi enrutador.
Servidor A Servidor B Servidor C
Actualmente solo puedo usar un servidor ya que mi puerto IP (xx.xxx.xx.xx) 80 apunta hacia el servidor A. Sin embargo, algunos dominios apuntan al servidor A, algunos a B, etc.
Con mi única dirección IP, ¿cómo apunto a cada servidor? Por ejemplo, mis registros A (host) apuntan solo a mi dirección IP.
Lo siento si sueno confuso. Avísame si no estoy siendo claro.
Cada servidor ejecuta Ubuntu Server 12.04.02 y usa Apache (si eso ayuda). Mi enrutador también es Netgear y mi ISP es Time Warner Cable.
webserver
apache-http-server
home-server
ubuntu-server
Stephen Cioffi
fuente
fuente
Respuestas:
Los sitios web serán reconocidos a través del
Host:
encabezado enviado desde el navegador. Pero dado que su enrutador no es capaz de exigir HTTP utilizado por el alojamiento virtual, deberá elegir un servidor como "punto final" (y decirle a su enrutador esa dirección como Servidor virtual / DMZ).Luego, configura esa máquina como servidor web para sus dominios y proxy para las otras (por ejemplo, usando el proxy inverso de Apache ), o (tal vez mejor) instala un proxy en esa máquina y lo usa para multiplexar solicitudes a los otros servidores . Algunos dominios incluso pueden estar alojados en la misma máquina.
nginx
es adecuado para este tipo de trabajo, pero también puede usar otro software (por ejemplopound
).Creo que la segunda solución es mejor porque no es necesario jugar con las configuraciones de los servidores web: un proxy hace el proxy y varios servidores web hacen el servicio web. Si necesita agregar servidores o mover hosts virtuales, esta arquitectura es más fácil de mantener.
La latencia agregada debido a que la solicitud se decodifica dos veces (una vez por el proxy, una vez por el destinatario previsto) es insignificante y más que compensada por la aceleración proporcionada por el proxy mismo.
fuente