Leiten Sie die Stammdomäne mithilfe von DNS-Einträgen an die www-Unterdomäne weiter

16

Ich habe www.mydomain.comauf eine Azure-Website hingewiesen.

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

Wenn ich besuche www.mydomain.com, funktioniert alles gut. Das ist gut.

Das Problem ist, mydomain.comfunktioniert nicht. Azure lässt nur die WWW-Unterdomäne zu.

Bei einigen Nameservern verwende ich einen FWD-Datensatz, um das Stammverzeichnis an das WWW weiterzuleiten, und dies funktioniert einwandfrei. Mein aktueller Nameserver (zoneedit.com) hat diesen FWD-Eintrag nicht.

Gibt es einen DNS-Eintrag, mit dem wir die Stammdomäne an die WWW-Unterdomäne weiterleiten können?

Shaun Luttin
quelle
2
ZoneEdit verfügt über einen "WebForward", der dies erledigt.
Michael Hampton
@MichaelHampton Perfekt. Wir verwendeten@ | StealthForward | http://www.example.com
Shaun Luttin
Das ist großartig. Es macht im Wesentlichen das, was ich beschrieben habe (verweist auf eine echte IP, das ist ein Webserver, der nur mit einer HTTP 300-Serie auf www.domain.com umleitet).
DTK

Antworten:

17

Leider ist dies ein bekanntes Manko des DNS-Protokolls. In den DNS-Standards ist kein Eintragstyp definiert, mit dem Sie den Scheitelpunkt einer Domäne als Alias ​​angeben können. Viele Menschen gehen davon aus, dass dazu CNAMEAufzeichnungen verwendet werden können, aber es gibt technische Gründe, warum dies nicht möglich ist .

Viele DNS-Anbieter implementieren benutzerdefinierte (read: fake) DNS-Eintragstypen, um dieses Manko zu beheben. Hinter den Kulissen implementieren diese gefälschten Datensätze mithilfe einer Kombination aus synthetisierten ADatensätzen und Webserverumleitung benutzerdefiniertes Verhalten in der Software des Unternehmens , um das gewünschte Ziel zu erreichen. FWDist eine davon, ähnlich der WebForward, auf die Michael Sie in den Kommentaren hingewiesen hat.

Andrew B
quelle
8

Zusammenfassung: Kurz gesagt, Sie können nicht den gewünschten Datensatz haben, und Ihr DNS-Host führt die erforderlichen Schritte auf die richtige Weise aus.

Erläuterung: Es verstößt gegen die DNS-Standards, wenn sich an der Zonenspitze ein CNAME (Alias ​​Record / Forward Record) befindet (der leere Name an der Vorderseite der Zone).

Der Grund dafür ist, dass bei einem CNAME-Eintrag der Namensanteil mit keinem Eintrag außer einem DNSSec-Eintrag in Konflikt stehen kann. In einer typischen Zone würde ein CNAME-Datensatz am Zonenscheitelpunkt mit mindestens den SOA- und NS-Datensätzen (und wahrscheinlich mehreren anderen) kollidieren. Während einige DNS-Server dies zulassen, ist es eine schlechte Sache und kann schwer zu diagnostizierende Fehler verursachen (ganz zu schweigen davon, dass es nicht funktioniert, wenn Sie das Hosting der Zone auf einen standardkonformen DNS-Server verlagern, z. B. auf BIND-Basis). .

Entweder haben Sie A-Einträge an der Zonenspitze (sie können ein einfacher Webserver sein, der nur ein HTTP 302 an www wirft). Wenn Sie statische IP-Nummern für Ihre Azure-Serverinstanzen erhalten können, platzieren Sie jeweils einen A-Eintrag am Scheitelpunkt Ihrer Zone und erstellen Sie einen einzelnen CNAME-Eintrag mit dem Namen "www", der auf den Scheitelpunkteintrag verweist.

Als Beispiel :

 

$ 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 IN CNAME example.com.
DTK
quelle
5
IMO: Es lohnt sich nicht, immer wieder zu wiederholen, warum CNAME-Apexes nicht funktionieren. Wenn der Benutzer fragt, warum er nicht funktioniert, haben wir eine kanonische Antwort mit RFC-Referenzen. (Vollständige Offenlegung: Ich habe es geschrieben.) Wenn sie nicht danach fragen, ist es am besten, die Frage so zu beantworten, wie sie formuliert ist.
Andrew B
Vielen Dank. Ich hätte nach einer kanonischen Antwort suchen sollen. Ich werde das für das nächste Mal im Hinterkopf behalten.
DTK
2

Einige Protokolle haben andere Standards für DNS-Eintragstypen als A-Einträge, um den Dienst zu finden. SMTP mit den zugehörigen MX-Einträgen ist ein gutes Beispiel dafür. Es gibt keine definierten DNS-Eintragstypen für HTTP. Es ist wahrscheinlich, dass Ihr früherer DNS / Registrar-Anbieter über einen HTTP-Redirect- oder einen Reverse-Proxy-Dienst verfügte.

Um Ihr Ziel zu erreichen, müssen Sie einen Webserver (virtuellen Host) einrichten, um eine HTTP 301- oder 302-Umleitung von einem Hostnamen auf den anderen durchzuführen, einen umgekehrten HTTP-Proxy einzurichten, unabhängige virtuelle Hosts einzurichten oder Aliase für virtuelle Hosts zu verwenden Dieselbe Webserver-Instanz antwortet auf beide A-Namen.

Joshua Hoblitt
quelle
0

Wenn Sie eine Antwort speziell für Azure wünschen, müssen Sie einen weiteren CNAME-Datensatz erstellen, der auf awverify.mydomain.azurewebsites.net wie diesen verweist

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