¿Cómo redirijo un dominio a otro dominio localmente?

25

Mi archivo / etc / hosts se ve así:

127.0.0.1       localhost
10.20.7.67      testsitealpha.dev
othersite.dev   testsitebeta.dev

Los dos primeros trabajos. El último no. Por qué no? ¿Cómo lo hago funcionar? La razón por la que estoy haciendo esto es porque tengo un servidor de prueba (othersite.com), que está en la red local, pero su IP puede variar. por ejemplo, 10.20.7.98 un día, 10.20.7.35 otro, etc.

Entonces, ¿cómo hago para que mi sistema siempre resuelva testsitebeta.dev a la misma ip que othersite.dev?

Benubird
fuente

Respuestas:

10

Como Chris ya escribió, el problema es que "othersite.dev" no es un número. El formato que necesitas es IP hostname1 [hostname2] [hostname3].

Sin embargo, el problema más profundo es un malentendido sobre el archivo host y posiblemente sobre DNS en general. Básicamente, el archivo host no fue diseñado para redireccionamientos. Era una solución simple cuando los ciclos de la CPU eran caros. Carecía de características como la capacidad de adaptarse a direcciones IP que cambian rápidamente sin necesidad de editar manualmente un archivo. Estos problemas se resolvieron cambiando del archivo host al sistema de resolución basado en la red.

Por lo tanto, la verdadera respuesta a su problema no es utilizar /etc/hosts, sino utilizar este sistema jerárquico de nombres distribuidos . Puedes hacerlo de varias maneras. Una forma es el CNAME como lo sugiere Chris. Otra forma sería darle al segundo servidor una dirección IP fija. Una dirección estática real o hacer una reserva en el servidor DHCP.

Hennes
fuente
1
No es el tipo de respuesta que estoy buscando. Esto es para el desarrollo; No quiero modificar ninguna otra máquina, ya que el nombre de dominio (testsitebeta.dev) no necesita ser accesible desde cualquier lugar que no sea mi local. Solo quiero una manera de decirle a mi computadora "tratar el nombre X como si fuera Y".
Benubird
2
En ese caso, desea instalar un servidor DNS local y usarlo como solucionador.
Hennes
3
El servidor DNS local parece ser la solución. Para los futuros visitantes, he encontrado este útil: superuser.com/q/45789/75287
Benubird
@Benubird: también estoy buscando la misma solución. Pero no pude conseguirlo. ¿Puedes explicar un poco más cómo configuras?
Jay Chakra
3

El formato de / etc / hosts es "IP" "Nombre de host" - como 127.0.0.1 localhost

Necesita un CNAMEen su servidor DNS local para lograr lo que necesita. Puede obtener la IP de "othersite.dev" y vincularla a "testitbeta.dev" como lo hizo con "testitalpha.dev", pero cuando esa IP cambie, también tendrá que cambiar su /etc/hostsarchivo.

Chris
fuente
1

Si othersite.com tiene IP dinámica, pero siempre está accesible por nombre, debe confiar en su DNS registrado haciendo referencia siempre a él por nombre.

Su solución es hacer que testsitebeta.dev sea una URL de redireccionamiento para othersite.com.

ServerName testsitebeta.dev Redirect / http://othersite.com

De esta manera, othersite.com siempre funciona (sin romperlo con una entrada de host incorrecta) y testsitebeta.dev siempre se redirige a othersite.com resolviendo el nombre a la IP correcta.

usuario557515
fuente