it-swarm.com.de

Muss ich eine Top Level Domain (TLD) für Localhost-Websites verwenden?

Ich habe immer name.dev für die lokale Entwicklung verwendet, aber seit Google Chrome 63 Update , Ab Dezember 2017 sind Domains mit . dev in der vorinstallierten HSTS-Liste mit einer Regel, die HTTPS erzwingt, keine Workarounds.

IETF gibt einige reservierte TLDs für die Entwicklung an:

  1. TLDs für Test- und Dokumentationsbeispiele

    Es besteht Bedarf an TLD-Namen (Top Level Domain), mit denen Namen erstellt werden können, die, ohne Konflikte mit aktuellen oder zukünftigen tatsächlichen TLD-Namen im globalen DNS zu befürchten, für private Zwecke verwendet werden können
    Testen von vorhandenem DNS-Code, Beispiele in der Dokumentation, DNS
    verwandte Experimente, ungültige DNS-Namen oder ähnliche Verwendungen.

    Beispielsweise kann eine Site ohne Anleitung lokale Einstellungen vornehmen
    zusätzliche nicht verwendete Top-Level-Domains zum Testen des lokalen DNS-Codes und der Konfiguration. Später könnten diese TLDs tatsächlich verwendet werden
    das globale Internet. Infolgedessen versuchen lokale Verweise auf die
    reale Daten in diesen Zonen könnten durch den lokalen Test vereitelt werden
    Versionen. Oder es kann ein Test- oder Beispielcode geschrieben werden, der auf a zugreift
    TLD, die mit dem Gedanken verwendet wird, dass der Testcode nur sein würde
    laufen in einem eingeschränkten Testbed-Netz oder das Beispiel läuft nie wirklich.
    Später könnte der Testcode aus dem Testfeld entkommen oder das Beispiel sein
    tatsächlich codiert und im Internet ausgeführt. Abhängig von der Art der
    Für den Test oder das Beispiel ist es möglicherweise am besten, auf eine TLD zu verweisen
    dauerhaft für solche Zwecke reserviert.

    Um diese Anforderungen sicher zu erfüllen, sind vier Domänennamen als reserviert
    unten aufgeführt und beschrieben.

               .test
            .example
            .invalid
          .localhost
    

    ".test" wird zum Testen des aktuellen oder neuen DNS-Codes empfohlen.

    ".example" wird zur Verwendung in der Dokumentation oder als Beispiel empfohlen.

    ".invalid" ist für die Online-Erstellung von Domain-Namen vorgesehen, die mit Sicherheit ungültig sind und die auf den ersten Blick offensichtlich ungültig sind.

    Die TLD ".localhost" wurde in Host-DNS-Implementierungen traditionell statisch so definiert, dass sie einen A-Eintrag aufweist, der auf die Loopback-IP-Adresse verweist, und für diese Verwendung reserviert ist. Jede andere Verwendung würde mit weit verbreitetem Code in Konflikt geraten, der diese Verwendung voraussetzt.

Aber ich fragte mich, ob ich etwas kürzeres gebrauchen könnte.

Darf nur http://name für lokale Websites verwendet werden?

Ich meine, nur den Projektnamen, ohne TLD. Ähnlich wie die localhost "Domain" selbst.

4

Ja. Abhängig.

Client-Seite:

Die meisten Betriebssysteme ermöglichen das Bearbeiten der Datei hosts oder hosts.txt, um einen Netzwerknamen oder einen Domänennamen mit einer IP-Adresse zu verknüpfen. Dies ist eine clientseitige Option. Sie würden dies auf Ihrem Desktop-Computer tun, damit dieser weiß, wie er das Anforderungspaket adressiert. Hier finden Sie detailliertere Informationen einschließlich Beispieleinstellungen.

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

Sie können einen anderen Namen für localhost konfigurieren. Durch Hinzufügen eines Namens können Sie jedoch von einem Client im selben Netzwerk aus auf den Webserver zugreifen. Sie müssten diesen Eintrag für alle Computer vornehmen, die Sie auf diese Weise verwenden möchten. Angenommen, Sie sind Entwickler, ist dies häufig der Fall, wenn der Client und der Webserver zwei verschiedene Computer sind. Erwarten Sie nicht, dass dies immer über eine Firewall über das Internet funktioniert. Es kann jedoch vorkommen, dass einige Firewalls dies nicht zulassen.

Sie können Ihren Computer so einstellen, dass er eine Suchdomäne verwendet, um einen Domänennamen an den von Ihnen angegebenen Kurznamen anzuhängen. Hierfür gibt es eine hervorragende Antwort. https://serverfault.com/questions/23397/resolving-Host-names-to-the-domain-name-in-an-internal-bind-domain/23401#23401 Dies erfordert auch a Konfigurationsänderung pro Computer, den Sie auf diese Weise verwenden möchten.

Serverseite:

Das Problem beginnt mit dem Webserver. Die Annahme ist, dass der Webserver den Namen verarbeiten kann. Natürlich kann myawesomesite.test auch einfach als Site konfiguriert werden. Myawesomesite ohne die TLD kann jedoch möglicherweise nicht konfiguriert werden. Es gibt Möglichkeiten, dies zu umgehen.

Bei Apache versucht Apache beispielsweise, wenn ein Anforderungspaket eingeht, es einer konfigurierten Site zuzuordnen. Wenn dies nicht möglich ist, wird die zuerst erstellte Site bereitgestellt. Häufig wird dies als Sammelstelle konfiguriert, die ungültige Anforderungen und nur IP-Adressanforderungen erfassen soll. Dies wird nicht immer gemacht. Die erste erstellte Site kann jedoch immer für jede Site verwendet werden, die nicht ordnungsgemäß anhand des Namens oder der IP-Adresse konfiguriert werden kann. Dies tun auch andere Webserver.

Natürlich kann jeder Apache-Server neu konfiguriert werden, um eine Sammelstelle hinzuzufügen, auf der es keine gibt. Ich beschreibe hier einige Konfigurationsbeispiele, bei denen es eine Catch-All-Site gibt. Virtualhost-Konfiguration: Routing und Verwendung von Platzhaltern Nehmen Sie diese Aufgabe immer mit Vorsicht an. Sie müssen wahrscheinlich experimentieren, wenn Sie nicht mit der Apache-Konfiguration vertraut sind. Und wie immer muss Apache neu gestartet werden, bevor die Konfigurationsänderungen berücksichtigt werden.

Wie @StephenOstermiller in den Kommentaren ausführt, kann für jede vorhandene Site einfach "ServerAlias" auf einen alternativen Namen wie "myawesomesite.test" festgelegt werden. Er weist auch darauf hin, dass ein kürzerer Name verwendet werden kann. Ich habe das noch nie versucht. Es kostet relativ nichts, es zu versuchen.

IIS sollte in der Lage sein, einen NetBios-Namen zu verwenden. Wenn Sie ein Windows-Netzwerk verwenden, können Sie dies überprüfen und es sollte tun, was Sie wollen.

Für andere Webserver kann ich keinen Rat geben. Es tut uns leid. Es gibt jedoch wahrscheinlich eine Antwort, wenn Sie recherchieren.

2
closetnoc

Der Domainname in der URL http://name/ hat eine TLD oder vielmehr: Er besteht nur aus einer TLD ( name ). Es wäre http://name./ als FQDN, aber die Variante ohne . funktioniert normalerweise auch in Browsern.

Während es ungewöhnlich ist, dass TLD-Besitzer die TLD selbst auflösbar machen, tun dies einige. Zum Beispiel ist dies war der Fall bei http://to/ , und es ist immer noch der Fall bei http://dk/.

Wenn Sie diese Antwort gepostet haben, können Sie sie selbst testen: http: // dk / (leitet derzeit zu einem Domainnamen der dritten Ebene weiter).

Also ist es "okay", sie zu benutzen?

  • Nein, wenn Sie verhindern möchten, dass Sie in Zukunft wieder überrascht werden. Der von Ihnen gewählte Projektname kann zu einer TLD werden, und diese TLD kann selbst aufgelöst werden. Halten Sie sich zur Sicherheit an die reservierten TLDs.

  • Ja, wenn Sie mit diesem Risiko leben können. Wenn Sie jedoch nicht reservierte TLDs verwenden, ist es möglicherweise eine gute Idee, Ihr System so zu konfigurieren, dass DNS-Anforderungen an diese TLDs nicht ausgehen.

0
unor