¿Por qué Heroku advierte contra los nombres de dominio "desnudos"?

66

Me encontré con esta página en los documentos de Heroku ...

Los dominios desnudos, también llamados dominios desnudos o vértices, se configuran en DNS a través de registros A y tienen serias implicaciones de disponibilidad cuando se usan en entornos de alta disponibilidad, como centros de datos masivos en las instalaciones, servicios de infraestructura en la nube y plataformas como Heroku.

Para obtener la máxima escalabilidad y resistencia, las aplicaciones deben evitar dominios desnudos y en su lugar confiar únicamente en nombres de host basados ​​en subdominios.

¿Alguien aquí habla Enterprise? ¿Cuáles son las "implicaciones de disponibilidad" sobre las que están advirtiendo?

(Noto que http://stackoverflow.com no funciona, así que evidentemente hay filosofías alternativas viables sobre este tema).

Agvorth
fuente
24
Corro www.yes-www.org y apruebo esta pregunta.
Michael Hampton
3
También hay otra preocupación: los activos estáticos no se pueden servir sin cookies adjuntas (no se pueden agregar cookies SOLO para el dominio raíz; las cookies deben ser para un subdominio o para .domain.com(comodín, usado si es dominio raíz)). Puede evitar esto sirviendo activos de un dominio diferente (SE usa sstatic.net ) para evitar el horrible subdominio www.
Tom Marthenal
2
@MichaelHampton ¿por qué no podemos dejar comentarios en www.yes-www.org? ¿Por qué no mencionas ALIAS(o ANAMEregistros) en tu página?
Augustin Riedinger
Esta pregunta tiene 6 años y se trata principalmente de limitaciones en el software. ¿Alguna actualización?
Michael Cole

Respuestas:

58

De lo que están hablando es de que cuando usas a CNAMEpara apuntar a sus servicios (que solo es posible en el subdominio, no en la raíz de la zona, no puede coexistir con los registros SOAy NSque se requieren en la raíz de tu zona), pueden hacer un cambio en sus propios registros DNS para evitar algún tipo de problema de disponibilidad.

Con una raíz de zona, debe usar un Aregistro para apuntar a una dirección IP específica para el servicio. Si tienen un problema con el enrutamiento, o algún tipo de denegación de servicio contra esa dirección específica, no pueden actualizar el A registro de su zona para apuntar a una IP diferente sobre la marcha; sin embargo, pueden actualizar las suyas, y eso es lo CNAMEque les permite hacer.

Esto no se aplica a Stack Exchange porque no están utilizando la plataforma de un tercero; ellos serán los que respondan a un problema de disponibilidad, por lo que si es una CNAMEo una Ano les importa.

Shane Madden
fuente
1
¿Qué pasa con ALIAS(o ANAME) los registros?
Augustin Riedinger
1
@AugustinRiedinger Esos no son realmente un tipo de registro DNS: son una configuración en la que ciertos proveedores de DNS manejarán la abstracción de verificar dinámicamente el Aregistro actual del objetivo, y luego lo devolverán en respuesta a una consulta para ese nombre. Están esencialmente diseñados para resolver este problema exacto, por lo que definitivamente son apropiados para usar en este caso.
Shane Madden
1
Entonces, si los usamos, la advertencia de escalabilidad de heroku ya no es cierta, ¿verdad? ¿O hay algún inconveniente técnico para usarlos?
Augustin Riedinger
2
@AugustinRiedinger Correcto. El inconveniente técnico está en la dificultad de implementación, ya que un servidor DNS "estándar" no puede lograr ese tipo de cosas sin personalización. Mientras la implementación de su proveedor sea estable, debería ser tan buena como una CNAMEconfiguración en un subdominio.
Shane Madden
13

Como una adición a la respuesta de @ ShaneMadden, una solución alternativa es que la plataforma de terceros también administre su zona DNS. Por ejemplo, si se utiliza de AWS equilibrador de carga elástico servicio, y su Ruta 53 el servicio DNS, puede fiable señalar la zona ápice en una instancia ELB usando sus personalizados registros de alias , lo que les permite actualizar su zona DNS en respuesta a los problemas de disponibilidad.

Sin embargo, este es un argumento en contra del concepto no-www , ya que www.example.compuede tener un CNAMEregistro.

mgorven
fuente