Moduł 3 · 3.3
Subdomeny i wildcardy
Moduł 3: Rekordy dla Państwa strony internetowej · Czas czytania: 7 min
Cel lekcji: Po tej lekcji będą Państwo potrafili utworzyć subdomenę za pomocą DNS oraz wyjaśnić, jak działa wildcard i gdzie nie ma on zastosowania.
Kluczowe pojęcia: subdomena, wildcard (*), "istniejąca nazwa wygrywa", wildcard a głębsze poziomy, subdomena w panelu hostingowym a jedynie rekord DNS
Czym jest subdomena?
Subdomena to nazwa umieszczona przed Państwa domeną: shop.example.com, blog.example.com, mail.example.com. Również www.example.com jest technicznie zwykłą subdomeną. Nie trzeba jej niczego rejestrować ani za nią płacić: ten, kto posiada domenę example.com, może w jej obrębie utworzyć dowolną liczbę własnych nazw. Subdomena powstaje poprzez utworzenie dla niej rekordu.
Subdomena może mieć też kilka poziomów głębokości: test.shop.example.com jest jak najbardziej prawidłowe. Każda część pomiędzy kropkami może mieć maksymalnie 63 znaki, a cała nazwa maksymalnie 253 znaki.
Dwa rodzaje subdomen
W praktyce "utworzenie subdomeny" oznacza dwie różne rzeczy, co wielu osobom sprawia trudność.
1. Tylko rekord DNS. Tworzą Państwo w DNS rekord A, AAAA lub CNAME dla shop. Dzięki temu cały świat wie, gdzie znajduje się shop.example.com. Jeśli wskazuje on na usługę zewnętrzną, na przykład platformę sklepu internetowego, to wystarczy: tę stronę internetową obsługuje już dana usługa.
shop.example.com. 3600 IN CNAME shops.platform.example.2. Subdomena w panelu hostingowym. W panelu hostingowym można również utworzyć subdomenę. Dzieje się wtedy dwojako: panel umieszcza (jeśli DNS jest tam zarządzany) rekord w DNS, a dodatkowo konfiguruje serwer www z osobnym katalogiem na pliki tej subdomeny. Jest to potrzebne, gdy strona internetowa subdomeny ma znajdować się na Państwa własnym hostingu, na przykład drugi WordPress pod adresem blog.example.com.
Dwie pułapki:
- Jeśli DNS jest zarządzany gdzie indziej niż hosting (inne serwery nazw, patrz lekcja 2.1), panel umieści rekord w miejscu, którego nikt nie sprawdza. W takim przypadku rekord należy utworzyć samodzielnie u podmiotu, który zarządza DNS.
- Jeśli chcą Państwo, aby subdomena wskazywała na usługę zewnętrzną, prosimy nie tworzyć jej w panelu hostingowym, lecz jedynie jako rekord DNS. W przeciwnym razie powstaną dwa rekordy dla tej samej nazwy, które będą sobie wzajemnie przeszkadzać.
Wildcard: jeden rekord dla wszystkich nazw
Wildcard to rekord, w którym nazwą jest gwiazdka:
*.example.com. 3600 IN A 192.0.2.10Oznacza to: "każda nazwa pod example.com, która nie jest osobno wpisana w strefie, wskazuje na 192.0.2.10". Jeśli ktoś zapyta o blog.example.com, test.example.com lub wat-dan-ook.example.com, a taka nazwa nie istnieje osobno, DNS udzieli odpowiedzi z rekordu wildcard.
Wiele pakietów hostingowych domyślnie umieszcza wildcard. Dzięki temu nowa subdomena w panelu hostingowym działa od razu, bez konieczności tworzenia osobnego rekordu dla każdej nazwy. Również www wtedy działa automatycznie.
Gdzie wildcard nie ma zastosowania
Zasady dotyczące wildcardów opisane są w RFC 4592. Warto znać trzy rzeczy.
Istniejąca nazwa wygrywa. Jeśli istnieje własny rekord dla shop.example.com, wildcard nie zostanie użyty dla tej nazwy. Dotyczy to również innych typów rekordów: jeśli shop ma tylko CNAME, wildcard nie da już dla shop odpowiedzi typu A. Wildcard jest więc siatką bezpieczeństwa dla nazw, które w ogóle nie istnieją.
*.example.com. A 192.0.2.10
www.example.com. CNAME shops.platform.example.W tym przypadku blog.example.com prowadzi do 192.0.2.10, natomiast www.example.com do platformy.
Wildcard nie ma zastosowania do gołej domeny. *.example.com nie obejmuje samej nazwy example.com. Dla niej potrzebny jest osobny rekord.
Wildcard nie działa poniżej nazwy, która istnieje. Jeśli istnieje shop.example.com, to *.example.com nie obejmuje nazwy test.shop.example.com. Wildcard działa wyłącznie dla nazw, w których cała "ścieżka" nie istnieje. Jeśli shop nie istnieje, test.shop.example.com podlega wildcardowi. Jeśli chcą Państwo wildcard pod shop, należy utworzyć *.shop.example.com.
Wildcard, certyfikaty i literówki
Wildcard w DNS określa jedynie, dokąd dana nazwa prowadzi. Proszę przy tym pamiętać o dwóch kwestiach:
- Certyfikat. Dla https na każdej subdomenie potrzebny jest certyfikat obejmujący te nazwy. Certyfikat wildcard (
*.example.com) to co innego niż rekord wildcard i zamawia się go osobno. Let's Encrypt wydaje certyfikaty wildcard wyłącznie na podstawie weryfikacji w DNS. - Literówki. Dzięki wildcardowi działa również
ww.example.comczywwww.example.com. Może to być wygodne, ale oznacza też, że każda możliwa nazwa otrzyma odpowiedź. Niektórzy administratorzy wolą tego uniknąć.
W praktyce: jak to wygląda w panelu
Jako przykład posłuży DirectAdmin. Inne panele (cPanel, Plesk) mają podobny ekran do obsługi subdomen.
- Proszę otworzyć Zarządzanie subdomenami i kliknąć Dodaj subdomenę.
- Proszę wpisać tylko pierwszą część, na przykład
shop. - Proszę wybrać katalog na pliki lub pozostawić ustawienie domyślne.
- Proszę zapisać.
Jeśli chcą Państwo, aby subdomena wskazywała na usługę zewnętrzną, proszę pominąć ten ekran i utworzyć jedynie rekord w Administracji DNS (lekcja 3.1 lub 3.2).
Podsumowanie
- Subdomena powstaje poprzez utworzenie dla niej rekordu; rejestracja nie jest konieczna.
- Sam rekord DNS wystarczy, gdy stronę internetową dostarcza usługa zewnętrzna. Subdomena w panelu hostingowym jest potrzebna, gdy strona znajduje się na Państwa własnym hostingu.
- Wildcard
*.example.comudziela odpowiedzi na wszystkie nazwy, które poza tym nie istnieją. - Istniejąca nazwa zawsze wygrywa z wildcardem; wildcard nie ma zastosowania do gołej domeny ani poniżej nazwy, która istnieje.
- Rekord wildcard to nie to samo co certyfikat wildcard.
Quiz
Zadanie
Zadanie Z3.3: Odkrywanie wildcardu. Proszę sprawdzić, czy github.io stosuje wildcard. Proszę wyszukać rekord A dla nazwy, która niemal na pewno nie istnieje osobno, na przykład dnscursus- z dodanymi kilkoma losowymi literami .github.io. Jeśli otrzymają Państwo adres IP, proszę wpisać tak oraz otrzymany adres.
Zadanie O3.3: Samodzielna konfiguracja w strefie ćwiczeniowej. Proszę utworzyć w swojej strefie ćwiczeniowej:
- rekord wildcard
*(typu A) z wartością192.0.2.20 - rekord A
vastz wartością192.0.2.21
Program sprawdzi następnie trzy nazwy: dowolną nazwę (powinna zwrócić wartość z wildcardu), vast (powinien zwrócić swój własny adres) oraz gołą strefę ćwiczeniową.
Zadanie O3.3
To zadanie wykonują Państwo we własnej strefie ćwiczeniowej: prawdziwej strefie DNS na serwerach nazw WebOké, przeznaczonej tylko dla Państwa. Proszę zalogować się za pomocą adresu e-mail. Otrzymają Państwo link logujący e-mailem i wrócą następnie do tej lekcji. Adres e-mail wykorzystujemy wyłącznie na potrzeby kursu.
Więcej informacji
Poniższe artykuły opisują te kroki w panelach WebOké; w innych panelach przebiegają one w podobny sposób.
