Pourquoi Heroku met-il en garde contre les noms de domaine «nus»?

66

J'ai couru sur cette page dans la documentation Heroku ...

Les domaines nus, également appelés domaines nus ou apex, sont configurés dans le système DNS via des enregistrements A et ont de graves conséquences sur la disponibilité lorsqu'ils sont utilisés dans des environnements à haute disponibilité tels que les énormes centres de données sur site, les services d'infrastructure cloud et les plates-formes telles que Heroku.

Pour une évolutivité et une résilience maximales, les applications doivent éviter les domaines nus et se baser uniquement sur des noms d'hôte basés sur des sous-domaines.

Est-ce que quelqu'un ici parle Enterprise? Quelles sont les "implications de disponibilité" qu'ils mettent en garde?

(Je remarque que http://stackoverflow.com ne fonctionne pas, donc il existe évidemment d'autres philosophies viables sur cette question.)

Agvorth
la source
24
Je cours www.yes-www.org et j'approuve cette question.
Michael Hampton
3
Il existe également un autre problème: les actifs statiques ne peuvent pas être servis sans les cookies attachés (vous ne pouvez pas ajouter de cookies JUST pour le domaine racine; les cookies doivent être pour un sous-domaine ou pour .domain.com(caractère générique, utilisé si domaine racine)). Vous pouvez contourner ce problème en servant des actifs d'un autre domaine (SE utilise sstatic.net ) pour éviter le sous-domaine hideux du site www.
Tom Marthenal
2
@ MichaelHampton pourquoi ne pouvons-nous pas laisser de commentaires sur www.yes-www.org? Pourquoi ne mentionnez-vous pas ALIAS(ou ANAMEenregistrements) dans votre page?
Augustin Riedinger
Cette question a 6 ans et concerne principalement les limitations des logiciels. Les mises à jour?
Michael Cole

Réponses:

58

Ce dont ils parlent, c’est que lorsque vous utilisez un CNAMEpointeur vers leurs services (ce qui n’est possible que sur le sous-domaine, pas sur la racine de la zone - il ne peut pas coexister avec les enregistrements SOAet NSqui sont requis sur la racine de votre zone), ils peuvent modifier leurs propres enregistrements DNS pour résoudre un problème de disponibilité.

Avec une racine de zone, vous devez utiliser un Aenregistrement pour pointer vers une adresse IP spécifique pour le service. S'ils rencontrent un problème d'acheminement ou une sorte de déni de service vis-à-vis de cette adresse spécifique, ils ne peuvent pas mettre à jour l' A enregistrement de votre zone pour qu'il pointe vers une adresse IP différente à la volée; ils peuvent cependant mettre à jour les leurs et c'est ce que CNAMEleur permet de faire.

Cela ne s'applique pas à Stack Exchange, car ils n'utilisent pas la plateforme d'un tiers. ce sont eux qui répondront à un problème de disponibilité, qu’il s’agisse CNAMEou Anon d’une différence pour eux.

Shane Madden
la source
1
Qu'en est-il ALIAS(ou ANAME) des enregistrements?
Augustin Riedinger
1
@AugustinRiedinger Il ne s'agit pas en réalité d'un type d'enregistrement DNS. Il s'agit d'une configuration dans laquelle certains fournisseurs DNS gèrent l'abstraction consistant à vérifier de manière dynamique l' Aenregistrement actuel de la cible, puis à le retransférer en réponse à une requête portant sur ce nom. Ils sont essentiellement conçus pour résoudre ce problème, ils sont donc tout à fait appropriés.
Shane Madden
1
Donc, si nous les utilisons, l'avertissement d'évolutivité de heroku ne reste plus d'actualité, n'est-ce pas? Ou y a-t-il un inconvénient technique à les utiliser?
Augustin Riedinger
2
@AugustinRiedinger Correct. L'inconvénient technique réside dans la difficulté de mise en œuvre, puisqu'un serveur DNS "standard" ne peut accomplir ce type de tâche sans personnalisation. Tant que l'implémentation de votre fournisseur est stable, elle devrait être aussi bonne qu'une CNAMEconfiguration sur un sous-domaine.
Shane Madden
13

En complément de la réponse de @ ShaneMadden, une solution de contournement consiste pour la plate-forme tierce à gérer également votre zone DNS. Par exemple, si vous utilisez AWS Elastic Load Balancer service et leur Route 53 service DNS, vous pouvez sûrement pointer le sommet de la zone à une instance ELB utilisant leurs personnalisés enregistrements d'alias , ce qui leur permet de mettre à jour votre zone DNS en réponse aux problèmes de disponibilité.

Ceci est cependant un argument contre le concept de non-www , car www.example.compeut avoir un CNAMErecord.

mgorven
la source