Jak wskazać subdomenę na inny hosting niż domena główna
Strona marketingowa na nagiej domenie i aplikacja na subdomenie, zbudowane na zupełnie różnych platformach, to jedna z najczęstszych konfiguracji DNS — a jedyne ograniczenie, o które ludzie się potykają, dotyczy domeny głównej, nie subdomeny.
Typowa konfiguracja
example.com hostowana na jednej platformie dla strony marketingowej, app.example.com hostowana zupełnie gdzie indziej dla samego produktu — dwa niepowiązane hosty, jedna domena.
CNAME kontra rekord A na subdomenie
Subdomena może użyć CNAME wskazującego na dowolną nazwę hosta, u dowolnego dostawcy — nie ma tu żadnego ograniczenia. To właśnie sprawia, że powyższy scenariusz jest prosty: app wskazuje na dowolną nazwę hosta podaną przez platformę hostingową aplikacji.
Dlaczego domena główna jest inna
RFC 1034 zabrania współistnienia rekordu CNAME z innymi rekordami pod tą samą nazwą, a domena główna zawsze potrzebuje rekordów NS i SOA — więc naga domena nie może być CNAME tak, jak subdomena. Dlatego domena główna zwykle potrzebuje rekordu A (albo obejścia specyficznego dla dostawcy, jak ALIAS, ANAME czy CNAME flattening) zamiast po prostu wskazywać na nazwę hosta platformy tak, jak robi to app.example.com.
Dlaczego delegacja DNS zwykle się nie przenosi
Nawet gdy subdomeny są rozrzucone po różnych hostach, serwery nazw domeny — ustawione raz, u rejestratora — zwykle pozostają u jednego dostawcy DNS. Delegowanie subdomeny do zupełnie osobnych serwerów nazw jest możliwe przez jej własne rekordy NS, ale rzadko jest potrzebne tylko po to, by wskazać tę subdomenę na inny hosting; CNAME lub rekord A w istniejącej strefie w zupełności wystarczy.
Faktyczna konfiguracja
Rekord CNAME dla subdomeny, wskazujący na nazwę hosta podaną przez platformę hostingową, obok rekordu A (lub obejścia dla domeny głównej) dla nagiej domeny, wskazującego na hosta głównej strony — oba w tej samej strefie DNS, u tego samego dostawcy.
Sprawdź, jak rozwiązuje się subdomena
Zobacz teorię w praktyce — uruchom Sprawdzanie CNAME dla własnej domeny.