web-dev-qa-db-fra.com

Dois-je utiliser un domaine de premier niveau pour les sites web locauxhost?

J'ai toujours utilisé name.dev pour le développement local, mais depuis Google Chrome 63 mise à jour , en décembre 2017, les domaines avec . dev sont dans la liste liste HSTS préchargée avec une règle appliquant HTTPS, sans solution de contournement.

L'IETF indique quelques TLD réservés pour le développement:

  1. TLD pour les tests et la documentation

    Il existe un besoin de noms de domaine de premier niveau (TLD) pouvant être utilisés pour créer des noms qui, sans crainte de conflits avec les noms de TLD actuels ou futurs dans le DNS global, puissent être utilisés à des fins de confidentialité.
    test du code lié au DNS existant, exemples dans la documentation, DNS
    expériences connexes, noms DNS non valides ou autres utilisations similaires.

    Par exemple, sans conseils, un site peut configurer des informations locales.
    autres domaines de premier niveau inutilisés pour tester son code DNS local et sa configuration. Plus tard, ces TLD pourraient être réellement utilisés le
    l'Internet mondial. En conséquence, les tentatives locales de référence au
    les données réelles dans ces zones pourraient être contrecarrées par le test local
    versions. Ou un test ou un exemple de code peut être écrit pour accéder à un
    TLD utilisé avec l'idée que le code de test ne serait que
    s'exécute dans un réseau de testbed restreint ou l'exemple ne s'exécute jamais réellement.
    Plus tard, le code de test pourrait s'échapper du banc de test ou l'exemple serait
    codé et exécuté sur Internet. En fonction de la nature de
    le test ou l'exemple, il serait peut-être préférable de faire référence à un TLD
    réservés en permanence à ces fins.

    Pour satisfaire ces besoins en toute sécurité, quatre noms de domaine sont réservés en tant que
    énumérés et décrits ci-dessous.

               .test
            .example
            .invalid
          .localhost
    

    ".test" est recommandé pour tester le code DNS actuel ou nouveau.

    ".example" est recommandé pour une utilisation dans la documentation ou à titre d'exemple.

    ".invalid" est destiné à être utilisé dans la construction en ligne de noms de domaine qui sont sûrs d’être invalides et dont il est évident qu’ils sont invalides.

    Le TLD ".localhost" est traditionnellement défini de manière statique dans les implémentations DNS de l'hôte comme ayant un enregistrement A pointant sur l'adresse IP en boucle et est réservé à cet usage. Toute autre utilisation entrerait en conflit avec le code largement déployé qui suppose cette utilisation.

Mais je me demandais si je pouvais utiliser quelque chose de plus court.

Puis-je utiliser uniquement http://name pour les sites Web locaux?

Je veux dire, seulement le nom du projet, sans TLD. Similaire au localhost "domaine" lui-même.

4
Lucas Bustamante

Oui. En fonction, dépendemment.

Côté client:

La plupart des systèmes d'exploitation autorisent l'édition du fichier hosts ou du fichier hosts.txt pour associer un nom de réseau ou un nom de domaine à une adresse IP. Ceci est une option côté client. Vous feriez cela sur votre ordinateur de bureau pour qu'il sache comment adresser le paquet de demande. Voici des informations plus détaillées, y compris des exemples de paramètres.

https://en.wikipedia.org/wiki/Hosts_ (fichier)

Vous pouvez configurer un autre nom pour localhost, cependant, le simple ajout d'un nom vous permettra d'accéder au serveur Web à partir d'un client du même réseau. Vous devez créer cette entrée pour tous les ordinateurs que vous comptez utiliser de cette manière. En supposant que vous soyez développeur, il arrive souvent que le client et le serveur Web soient deux ordinateurs différents. Ne vous attendez pas à ce que cela fonctionne toujours à travers un pare-feu sur Internet. Cependant, il est possible que certains pare-feu ne le permettent pas.

Vous pouvez configurer votre ordinateur pour utiliser un domaine de recherche afin d'ajouter un nom de domaine au nom abrégé que vous avez fourni. Il y a une excellente réponse ici pour cela. https://serverfault.com/questions/23397/resolving-Host-names-to-their-domain-name-in-an-internal-bind-domain/23401#23401 Cela nécessite également un changement de configuration par ordinateur que vous souhaitez utiliser de cette manière.

Du côté serveur:

Le problème commence avec le serveur Web. L'hypothèse est que le serveur Web peut gérer le nom. Certainement, myawesomesite.test peut facilement être configuré en tant que site. Toutefois, myawesomesite sans le TLD peut ne pas être configurable. Il existe des façons de le faire.

Par exemple, avec Apache, lorsqu'un paquet de requête arrive, Apache essaiera de le faire correspondre à un site configuré. S'il ne le peut pas, il servira le premier site créé. Souvent, cela sera configuré comme un site fourre-tout destiné à capturer les requêtes non valides et les requêtes à adresse IP uniquement. Ce n'est pas toujours fait. Toutefois, le premier site créé peut toujours être utilisé pour tout site ne pouvant pas être configuré correctement par nom ou adresse IP uniquement. D'autres serveurs Web le font également.

Bien entendu, tout serveur Apache peut être reconfiguré pour ajouter un site fourre-tout où il n'en existe pas. Je couvre quelques exemples de configuration ici où un site fourre-tout existe. config Virtualhost: routage et utilisation de caractères génériques Toujours effectuer cette tâche avec prudence. Vous devrez probablement faire des essais si vous n'êtes pas familiarisé avec la configuration Apache. Et comme toujours, Apache devra être redémarré avant que les modifications de configuration ne soient prises en compte.

Comme @StephenOstermiller le souligne dans les commentaires, n'importe quel site existant peut simplement avoir "ServerAlias" défini sur un autre nom, tel que myawesomesite.test. Il souligne également qu'un nom plus court peut être utilisé. Je n'ai jamais essayé cela. Il ne coûte relativement rien d'essayer.

IIS devrait pouvoir utiliser un nom NetBios. Si vous utilisez un réseau Windows, vous pouvez vous en occuper et il convient de faire ce que vous voulez.

Pour les autres serveurs Web, je ne peux pas donner de conseils. Pardon. Cependant, il y a probablement une réponse si vous recherchez.

2
closetnoc

Le nom de domaine dans l'URL http://name/ possède un TLD, ou plutôt: il ne consiste qu'en un TLD ( name ). Il s'agirait de http://name./ en tant que nom de domaine complet, mais la variante sans le . fonctionnera également dans les navigateurs.

Bien qu'il soit rare que les propriétaires de TLD rendent le TLD lui-même résolvable, certains le font. Par exemple, ceci était le cas de http://to/ et il en est toujours de même avec http://dk/.

Au moment de poster cette réponse, vous pouvez la tester vous-même: http: // dk/ (redirige actuellement vers un nom de domaine de troisième niveau).

Alors est-ce "ok" de les utiliser?

  • Non, si vous voulez éviter la possibilité de vous surprendre à nouveau à l'avenir. Le nom du projet que vous choisissez pourrait devenir un TLD, et ce TLD pourrait lui-même être résolu. Pour plus de sécurité, respectez les TLD réservés.

  • Oui, si vous pouvez vivre avec ce risque. Mais si vous utilisez des TLD non réservés, il peut être judicieux de configurer votre système de manière à ce que les demandes DNS adressées à ces TLD ne soient pas supprimées.

0
unor