Moduł 3 · 3.4
www, przekierowanie i czego DNS nie robi
Moduł 3: Rekordy dla Państwa strony internetowej · Czas czytania: 7 min
Cel lekcji: Po tej lekcji będą Państwo znać różnicę między DNS (gdzie znajduje się serwer) a przekierowaniem (jaką stronę Państwo otrzymają) oraz będą Państwo potrafili poprawnie skonfigurować www.
Kluczowe pojęcia: www, przekierowanie (redirect, 301/302), wskaźnik domeny lub alias, certyfikat https, ścieżka nie istnieje w DNS
Co DNS wie, a czego nie wie
DNS odpowiada na jeden rodzaj pytania: "gdzie znajduje się ta nazwa?" Odpowiedzią jest adres (A, AAAA) lub inna nazwa (CNAME). Następnie zadanie DNS jest zakończone. Wszystko, co dzieje się później, obsługuje serwer WWW pod tym adresem.
Adres internetowy składa się z czegoś więcej niż tylko nazwy:
https://www.example.com/contact?taal=nl
└─┬─┘ └──────┬───────┘└───┬──┘└──┬──┘
protokół nazwa ścieżka parametryTylko środkowa część, nazwa, trafia do DNS. Protokół (https), ścieżka (/contact) i parametry nigdy nie są widoczne dla DNS. Wynika z tego kilka rzeczy, które zaskakują wiele osób:
- DNS nie może przekierować na konkretną stronę. Rekord typu "
example.comnaothersite.example/actie" nie istnieje. - DNS nie wybiera między http a https. To, czy odwiedzający trafi na https, ustala serwer WWW.
- DNS nie wie, jaka strona znajduje się na serwerze. Na jednym adresie IP może działać setki stron internetowych. Przeglądarka przesyła nazwę w swoim zapytaniu, a serwer WWW wybiera na tej podstawie właściwą stronę.
Przekierowanie odbywa się na serwerze WWW
Chcą Państwo, aby example.com przekierowywał odwiedzających do www.example.com, albo aby druga nazwa domeny prowadziła do głównej strony? Wtedy potrzebne są dwa kroki:
- DNS: niech nazwa wskazuje na serwer WWW, który potrafi wykonać przekierowanie. Zazwyczaj jest to Państwa własny hosting lub usługa przekierowań od rejestratora.
- Serwer WWW: ustawić tam przekierowanie (redirect). Serwer odpowiada wtedy nie stroną, lecz komunikatem "przejdź na ten inny adres". Przeglądarka sama to wykonuje.
Przekierowanie ma swój kod:
| Kod | Oznacza | Stosuje się do |
|---|---|---|
| 301 | Przeniesiono na stałe | Stałe przekierowanie, na przykład z gołej nazwy domeny na www. Wyszukiwarki przyjmują nowy adres. |
| 302 (lub 307) | Tymczasowo gdzie indziej | Tymczasowa strona akcji lub prace konserwacyjne. |
Wskaźnik domeny lub alias domeny to co innego: ta sama strona internetowa wyświetla się pod dwiema nazwami, bez zmiany paska adresu. To również ustawia się w panelu hostingowym, a nie w DNS. DNS drugiej nazwy musi jedynie wskazywać na ten sam serwer.
Istnieje też frame forwarding: pasek adresu nadal pokazuje Państwa domenę, podczas gdy widoczna jest inna strona. Rozwiązanie to często działa źle z nowoczesnymi stronami internetowymi (które odmawiają wczytania w ramce), a wyszukiwarki go nie lubią. Lepiej go nie stosować.
www: tak czy nie?
www to zwykła subdomena. To, czy Państwa strona działa pod adresem www.example.com czy example.com, to kwestia wyboru. Ważne jest tylko to, co następuje:
- Obie wersje muszą działać. Ludzie wpisują jedną lub drugą. Jeśli brakuje rekordu dla
www, otrzymają komunikat o błędzie, że strona nie istnieje. - Proszę wybrać jedną jako adres główny i przekierować drugą do niej za pomocą kodu 301. Wtedy wyszukiwarka widzi jedną stronę, a nie dwie kopie.
W DNS sprowadza się to zazwyczaj do:
example.com. 3600 IN A 192.0.2.10
www.example.com. 3600 IN CNAME example.com.lub własnego rekordu A dla www z tym samym adresem. Wildcard (lekcja 3.3) może także obsłużyć www. W przypadku usługi zewnętrznej, takiej jak platforma sklepu internetowego, www często wskazuje za pomocą rekordu CNAME na tę usługę, a goła nazwa domeny za pomocą rekordu A na adres podany przez usługę (lekcja 3.2 wyjaśnia dlaczego).
Certyfikat jest częścią tego również
Przeglądarka pokazuje kłódkę tylko wtedy, gdy serwer posiada certyfikat dokładnie dla nazwy, którą wpisał odwiedzający. Certyfikat dla example.com nie obejmuje automatycznie www.example.com. Proszę zadbać o to, aby certyfikat obejmował obie nazwy.
Ma to konsekwencje dla przekierowania: odwiedzający, który otwiera https://example.com, najpierw przechodzi weryfikację certyfikatu, a dopiero potem następuje przekierowanie. Bez ważnego certyfikatu dla gołej nazwy zobaczy on ostrzeżenie, nawet jeśli potem zostanie prawidłowo przekierowany. Nazwa, która jedynie przekierowuje, również potrzebuje więc certyfikatu.
Darmowe certyfikaty, takie jak te od Let's Encrypt, sprawdzają, czy nazwa rzeczywiście wskazuje na Państwa serwer. Jeśli DNS nadal wskazuje na stary serwer, wniosek się nie powiedzie. Najpierw DNS, potem certyfikat.
W praktyce: tak wygląda to w panelu
Jako przykład używamy DirectAdmin. W cPanel, Plesk i innych panelach ten element często nazywa się "Redirects" lub "Przekierowania".
- Proszę otworzyć Przekierowania (doorsturen).
- Proszę wpisać ścieżkę, która ma zostać przekierowana, na przykład
/dla całej strony. - Proszę wybrać typ: 301 dla przekierowania stałego.
- Proszę wpisać adres docelowy, z
https://. - Proszę zapisać.
DNS tej nazwy musi wtedy wskazywać na Państwa własny hosting. Jeśli wskazuje na inną usługę, odwiedzający nigdy nie dotrze do tego przekierowania.
Podsumowanie
- DNS podaje jedynie adres nazwy. Ścieżka, protokół i parametry są dla DNS niewidoczne.
- Przekierowanie (301, 302) i wskaźniki domeny ustala serwer WWW, nie DNS.
- Proszę zadbać, aby zarówno goła nazwa, jak i www miały rekord, oraz wybrać jedną jako adres główny.
- Certyfikat musi obejmować każdą nazwę, którą może wpisać odwiedzający, również tę, która jedynie przekierowuje.
- Najpierw prawidłowy DNS, potem certyfikat.
Quiz
Zadanie
Zadanie Z3.4: www: CNAME czy A? Jak skonfigurowana jest nazwa www.sidn.nl (sidn.nl to strona SIDN, rejestru domeny .nl w Holandii) w DNS? Proszę sprawdzić, jaki rekord jest ustawiony dla www.sidn.nl i wpisać jego typ (A, AAAA lub CNAME) oraz wartość. Wskazówka: najpierw proszę zapytać o CNAME.
W tej lekcji nie ma zadania konfiguracyjnego w strefie ćwiczeniowej: przekierowanie odbywa się na serwerze WWW, a nie w DNS.
Dalsza lektura
Poniższe artykuły opisują kroki w panelach WebOké; w innych panelach działają w podobny sposób.
- Instrukcja DirectAdmin 4.7: Przekierowanie strony: przekierowanie domeny lub podstrony
- Instrukcja DirectAdmin 4.4: Wskaźniki domeny: druga nazwa domeny dla tej samej strony
- Tworzenie przekierowania na inną domenę (konto hostingowe)
- Tworzenie przekierowania domeny (rejestracja domeny)
- Instrukcja DirectAdmin 6.3: Certyfikat dla www, subdomen i wildcard
