Jakiś problem?

Konfiguracja DNS dla własnej domeny

Źródło https://leniwy.eu/news,13,Konfiguracja-DNS-dla-wlasnej-domeny.html 2013-05-06 

Podstawowe informacje o konfiguracji DNS dla domeny: jak skonfigurować domenę, delegacja subdomeny, co to są „aliasy DNS”, co jest potrzebne do zrobienia przekierowania 301.

DNS, fot. wikipedia.org

Spis treści

  1. Co zrobić po zakupie domeny
  2. DNS, czyli wskazanie na serwer(y)
  3. Typy rekordów DNS
  4. Jak zrobić przekierowanie z jednej strony WWW na drugą (strona 2)
  5. Duplikaty strony i przekierowania 301/302 (strona 2)

Co zrobić po zakupie domeny

Wszystko zależy od tego, czy zakupiona została sama domena, czy z usługą, np. hostingu (możliwością umieszczenia własnej strony na serwerze usługodawcy). Jeśli kupiłeś razem z usługą, prawdopodobnie usługę DNS masz skonfigurowaną poprawnie do współpracy z serwerem hostingowym, więc wystarczy jedynie wgrać stronę i podać znajomym.

Jeśli natomiast masz domenę, ale nie masz hostingu, lub domena jest kupiona w jednej firmie, a hosting w drugiej (albo nawet planowany jest na własnym mini-serwerze który trzymasz w kącie pokoju), trzeba skonfigurować usługę DNS dla domeny.

DNS, czyli wskazanie na serwer(y)

DNS to system ułatwiający użytkownikom internetu korzystanie z wszelkich usług udostępnianych w postaci stron WWW, serwerów FTP, poczty i wielu innych usług. Służy przede wszystkim do tego, aby człowiek łatwo mógł zapamiętać adres jakiejś usługi (np. strony WWW), zamiast odwoływać się do niej po adresie IP. Na przykład www.leniwy.eu zamiast 91.227.122.13 (oczywiście w przypadku usług HTTP, czyli np. strony WWW, sam adres IP nie wystarczy, bo domena odgrywa tu dodatkową rolę w przypadku umieszczenia kilku stron na jednym adresie IP).

Typy rekordów DNS

Poniżej przedstawione są najczęściej używane typy rekordów DNS. Przykłady wpisów dotyczą zapisu zgodnego z plikiem konfiguracji domeny dla serwera BIND dla domeny leniwy.eu (ma to znaczenie w przypadku podawania względnej nazwy subdomeny lub użycia @).

Rekord A

Rekord A to nic innego, jak wspomniane wyżej wskazanie na adres IP (dokładniej: IPV4). W ten sposób wskazany jest np. serwer na którym stoi dana strona WWW, serwer FTP, albo serwer na który chcesz się zalogować przez SSH. Przy braku rekordu MX, wykorzystany jest również do obsługi poczty. Przykład:

@ IN A 91.227.122.13

Rekord AAAA

Podobnie jak poprzedni typ, rekord AAAA wskazuje na adres IP, ale w wersji IPV6. Jeszcze stosunkowo rzadko używany ze względu na wciąż małą popularność IPV6. Przykład:

leniwy.eu IN AAAA 0:0:0:0:0:0:0:1

Rekord CNAME

Rekord CNAME (Canonical NAME) to w zasadzie alias dla innej domeny. Jeśli ustawisz dla domeny X jakiś konkretny adres IP, a chcesz żeby domena Y wskazywała zawsze na to samo co X (nie zmieniając konfiguracji domeny Y), to właśnie potrzebujesz rekordu CNAME. Na przykład, chcesz aby Twoja strona była dostępna zarówno pod adresem www.leniwy.eu jak i leniwy.eu – możesz dla wersji właściwej ustawić rekord CNAME, np. tak:

www.leniwy.eu IN CNAME leniwy.eu.

Jeszcze trzy ważne uwagi:

  1. Kropka na końcu to nie pomyłka, ale często brak kropki jest pomyłką, która wpłynie na Twoje nerwy 🙂 aliasy (rekordy CNAME) bez kropki na końcu są aliasami względnymi (względem domeny dla której plik strefy edytujesz). W tym przypadku, jakby nie było kropki, adres leniwy.eu byłby aliasem dla leniwy.eu.leniwy.eu (zakładając, że to plik strefy dla domeny leniwy.eu). Zwykle lepiej wpisać pełny adres i nie zapomnieć o kropce.
  2. Zwykle ustawienie dla domeny X rekordu CNAME na domenę Y wpływa na szybkośćznalezienia adresu IP usługi, bo po pobraniu z serwera DNS informacji o domenie X, Twój komputer musi wykonać drugie zapytanie – do serwera DNS domeny Y, aby dowiedzieć się jaki jest adres IP. Oczywiście zwykle są to ułamki sekund.
  3. Domena X może być aliasem na domenę Y, ale to działa głębiej – możesz domenę Y ustawić jako alias dla domeny Z. Pamiętaj jednak, że ilość zapytań do serwerów DNS znowu wzrasta.

Rekord MX

Rekord MX (Mail eXchange) wkazuje na serwer obsługujący pocztę dla domeny. Dla jednej domeny możesz ustawić kilka adresów MX, co więcej możesz im ustawić priorytety (np. główny serwer przyjmujący pocztę i serwery backupowe, które będą używane przy awarii serwera głównego), np.:

@ IN MX 10 ASPMX.L.GOOGLE.COM.
@ IN MX 20 ALT1.ASPMX.L.GOOGLE.COM.

Obowiązuje tu również uwaga nr. 1 opisana w rekordzie CNAME.

Jeśli rekord MX dla danej domeny nie zostanie podany, maile dla domeny będą dostarczane na serwer wskazany przez rekord A.

Rekord PTR

Rekord PTR (PoinTeR) działa „w drugą stronę” niż rekord A – mapuje adres IPV4 (lub IPV6) na nazwę kanoniczną hosta, czyli domenę. Prawdopodobnie nie będziesz potrzebował go użyć, chyba że np. masz internet DSL od największego polskiego dostawcy i chcesz dla własnych adresów IP ustawić tzw. revdns (reversed DNS). Jeśli tak, to pewnie zainteresuje Cię opis procedury ustawienia PTR po stronie dostawcy. Przykład:

1.firma.com.pl. IN PTR host1.firma.com.pl.

Również tutaj musisz pamiętać o kropce.

Rekord NS

Rekord NS to wskazanie innego serwera DNS, obsługującego daną subdomenę, inaczej mówiąc: delegacja subdomeny. W ten sposób możesz obsługę całej subdomeny przenieść na inny serwer DNS, niż obsługa Twojej domeny. Przykład:

subdomena IN NS dns1.leniwy.eu.
subdomena IN NS dns2.leniwy.eu.

Powyższy wpis spowoduje, że każde zapytanie o subdomena.leniwy.eu czy x.subdomena.leniwy.eu będzie kierowane do jednego z dwóch serwerów (dns1.leniwy.eu lub dns2.leniwy.eu). Może się przydać, jeśli np. chcesz udostępnić jakąś subdomenę dla swojej domeny i dać mu pełen dostęp do konfiguracji subdomeny, ale bez możliwości konfiguracji domeny głównej. Oczywiście usunięcie tych wpisów spowoduje, że jego subdomena przestanie istnieć, chyba że zamienisz je jednocześnie na wpisy typu A/MX/CNAME.

Nie zapomnij o kropce.

Rekord TXT

Specyficzny typ rekordu, którego dokładnego przeznaczenia nie zakłada sama specyfikacja DNS, aczkolwiek najczęściej jest używany przy implementacji Sender Policy Framework (w skrócie SPF). Może być również użyty, żeby przekazać dowolną informację tekstową dla Twojej domeny, chociaż raczej mało kto będzie tam zaglądał.

@ IN TXT "v=spf1 a:serwerek.leniwy.eu -all"

Powyższy wpis oznacza, że poczta dla danej domeny wychodzi jedynie z serwera serwerek.leniwy.eu, a z każdego innego może być odrzucana.

Jak zrobić przekierowanie z jednej strony WWW na drugą

Jak wiadomo, aby zrobić przekierowanie (redirect) z jednej domeny na drugą, musisz mieć możliwość konfiguracji pierwszej z nich. Ale przekierowanie na poziomie protokołu HTTP (a z takim zwykle mamy do czynienia w przypadku poprawnie wykonanego przekierowania), wymaga obsługi protokołu HTTP, czyli jakiegoś serwera WWW pod spodem.

Załóżmy zatem, że masz już wykupioną domenę leniwy.eu i na niej działa fajna stronka. Teraz chcesz sobie kupić drugą domenę, załóżmy superstrona.tld i zrobić „to coś”, żeby po wpisaniu w przeglądarce adresu http://superstrona.tld otworzyła się strona www.leniwy.eu.

Przekierowanie przy obsłudze wielu domen na serwerze WWW

Jeśli w konfiguracji serwera podającego Twoją stronę masz możliwość ustawiania aliasu (np. na poziomie virtualhost serwera Apache), wystarczy na poziomie konfiguracji DNS dla domeny superstrona.tld ustawić alias CNAME

@ CNAME www.leniwy.eu.

oraz na poziomie konfiguracji serwera WWW, ustawić alias superstrona.tld dla hosta wirtualnego www.leniwy.eu. Prawie zakończyłeś prace – po poprawnej propagacji Twoich konfiguracji, jeśli wpiszesz w przeglądarce http://superstrona.tld, zostanie pokazana Twoja fajna strona www.leniwy.eu. Jednak adres w przeglądarce się nie zmieni. Do tego trzeba jeszcze na poziomie serwera WWW ustawić, aby przy podaniu innego niż podstawowy adres strony, robiło przekierowanie 301 na adres właściwy. W zależności od typu serwera, można to robić na różne sposoby, np. sprawdzenie na poziomie PHP (na początu skryptu PHP obsługującego Twoją strone):

if ($_SERVER["SERVER_NAME"] != "www.leniwy.eu") {
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: http://www.leniwy.eu');
    exit(0);
}

Czy sprawdzenie na poziomie pliku .htaccess:

RewriteEngine On
RewriteBase /

RewriteCond     %{HTTP_HOST}    !^www\.leniwy\.eu
RewriteRule     ^(.*)$          http://www.leniwy.eu/$1       [R=301,L]

Przekierowanie na stronę, na którą nie masz wpływu

Przekierowanie możesz zrobić również na stronę, która nie należy do Ciebie, na którą nie masz wpływu, lub dla której nie chcesz modyfikować konfiguracji. Aby to zrobić, potrzebujesz serwer WWW, przez który będziesz w stanie podać własne nagłówki HTTP (lub którego konfiguracja pozwala na tworzenie redirectów 301/302). Wtedy w konfiguracji DNS dla domeny ustawiasz rekord A lub CNAME wskazujący na Twój serwer WWW, a w nim np. umieszczasz prosty skrypcik index.php (przy założeniu oczywiście, że serwer obsługuje PHP), który zrobi przekierowanie.

<?
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.leniwy.eu');
exit(0);
?>

Duplikaty strony i przekierowania 301/302

Z duplikatem strony mamy do czynienia najczęściej wtedy, gdy przez pomyłkę konkretna strona jest dostępna pod więcej niż jednym adresem URL. Często zdarza się, że ktoś nie zwróci uwagi i w zależności od tego jak użytkownik wpisze, dana strona wyświetla się zarówno z adresem www jak i bez niego (czyli http://leniwy.eu i http://www.leniwy.eu). Inny przykład: http://www.leniwy.eu oraz http://www.leniwy.eu/index.php. Te przypadki (jak i wiele innych), to nic innego jak powielanie treści (duplikaty strony), czyli coś czego np. Google bardzo nie lubi. Przez duplikaty Twoja strona może się np. pojawiać w wynikach wyszukiwania niżej.

Aby pozbyć się duplikatów, możesz albo robić przekierowania na adres właściwy, albo ustawiać rel="canonical" (o tym również przeczytasz pod powyższym linkiem).

Różnice pomiędzy przekierowaniem 301 i 302

Zgodnie z założeniami, przekierowanie z kodem 301 oznacza przekierowanie stałe, a przekierowanie z kodem 302 – tymczasowe. W przypadku 301 informujesz przeglądarkę (lub robota indeksującego, np. od Google), że adres właściwy strony jest inny niż podany (np. http://www.leniwy.eu zamiast http://superstrona.tld). W przypadku przekierowania tymczasowego 302 informujesz o tym, że strona jest chwilowo dostępna pod innym adresem. O ile dla użytkowników różnicy nie będzie (adres strony w przeglądarce się zmieni tak samo w obu przypadkach), to dla robotów indeksujących i algorytmów za nimi stojących, różnica jest ogromna.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *