Reenvíe el dominio raíz al subdominio www utilizando registros DNS

16

He www.mydomain.comseñalado un sitio web de Azure.

www.mydomain.com --- CNAME --- mydomain.azurewebsites.net

Cuando visito www.mydomain.com, todo funciona bien. Esto es bueno.

El problema es mydomain.comque no funciona. Azure solo permite el subdominio www.

En algunos servidores de nombres, uso un registro FWD para reenviar la raíz a www, y esto funciona bien. Mi servidor de nombres actual (zoneedit.com) no tiene este registro FWD.

¿Existe un registro DNS que podamos usar para reenviar el dominio raíz al subdominio www?

Shaun Luttin
fuente
2
ZoneEdit tiene un "WebForward" que hará esto.
Michael Hampton
@MichaelHampton Perfecto. Solíamos@ | StealthForward | http://www.example.com
Shaun Luttin 01 de
Eso es genial. Básicamente hace lo que describí (apunta a una IP real, que es un servidor web que simplemente redirige con una serie HTTP 300 a www.dominio.com).
DTK

Respuestas:

17

Desafortunadamente, esta es una deficiencia conocida del protocolo DNS. No hay ningún tipo de registro definido dentro de los estándares de DNS que le permita alias el vértice de un dominio. Muchas personas suponen que los CNAMEregistros pueden usarse para lograr esto, pero hay razones técnicas por las que no pueden .

Muchos proveedores de DNS implementan tipos de registros DNS personalizados (léase: falsos) para tratar de abordar esta deficiencia. Detrás de escena, estos registros falsos implementan un comportamiento personalizado en el software de esa compañía utilizando una combinación de Aregistros sintetizados y redireccionamiento del servidor web para lograr el objetivo deseado. FWDes uno de estos, muy parecido al WebForwardque Michael te dirigió en los comentarios.

Andrew B
fuente
8

Resumen: en resumen, no puede tener el registro que desea y su servidor DNS está haciendo las cosas de la manera correcta.

Explicación: Es una violación de los estándares de DNS tener un CNAME (registro de alias / registro de reenvío) en el vértice de la zona (el nombre vacío en el frente de la zona).

La razón de esto es que un registro CNAME no puede hacer que la parte del nombre entre en conflicto con ningún registro, excepto un registro DNSSec. En una zona típica, un registro CNAME en el vértice de la zona colisionaría con al menos los registros SOA y NS (y probablemente varios otros). Si bien algunos servidores DNS lo permitirán, es una mala cosa, y puede causar fallas difíciles de diagnosticar (sin mencionar que no funcionará si mueve el alojamiento de la zona a un servidor DNS compatible con los estándares, como cualquier cosa basada en BIND) .

Puede tener registros A en el vértice de la zona (pueden ser un servidor web simple que simplemente lanza un HTTP 302 a www). Si puede obtener números IP estáticos para las instancias de su servidor Azure, coloque un registro A para cada uno en el vértice de su zona y cree un único registro CNAME llamado "www" que apunte al registro vértice.

Como ejemplo :

 

$ ORIGIN example.com.

@ IN SOA ns1.example.com. [email protected]. (
                                 101;
                                 172800;
                                 900;
                                 1209600;
                                 3600; )
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
@ IN A 123.234.1.123
@ IN A 123.234.1.124
@ IN A 123.234.1.125
ns1 IN A 123.234.1.126
ns2 IN A 123.234.1.127
www EN CNAME example.com.
DTK
fuente
55
OMI: No vale la pena reiterar sin cesar por qué los vértices de CNAME no funcionan. Si el usuario pregunta por qué no funciona, tenemos una respuesta canónica para eso con referencias RFC. (divulgación completa: lo escribí) Si no preguntan al respecto, es mejor quedarse respondiendo la pregunta como está redactada.
Andrew B
Gracias. Debería haber buscado una respuesta canónica. Lo tendré en cuenta para la próxima vez.
DTK
2

Algunos protocolos tienen estándares para los tipos de registros DNS, distintos de los registros A, para encontrar el servicio. SMTP con sus registros MX asociados es un buen ejemplo de esto. No hay tipos de registros DNS definidos para HTTP. Es probable que su proveedor anterior de DNS / registrador haya tenido un servicio de redirección HTTP o proxy inverso.

Para lograr su objetivo, deberá configurar un servidor web (host virtual) para hacer una redirección HTTP 301 o 302 de un nombre de host a otro, configurar un proxy HTTP inverso, configurar hosts virtuales independientes o usar alias de host virtual para la misma instancia de servidor web responderá a ambos nombres A.

Joshua Hoblitt
fuente
0

Si desea una respuesta específica para Azure, debe crear otro registro CNAME que apunte a awverify.mydomain.azurewebsites.net como este

www.mydomain.com --- CNAME --- awverify.mydomain.azurewebsites.net
Abhishek Siddhu
fuente