Ako prekonať obmedzenia CNAME v koreňovej doméne

  • 22.04.2019

Hostíme veľa webových aplikácií pre našich klientov. Je zrejmé, že na prepojenie týchto aplikácií chcú použiť svoje vlastné domény. Zvyčajne chcú, aby do svojej webovej aplikácie prešiel každý používateľ, ktorý http: //www.customer1.example alebo http: //customer1.example.

Situácia, ktorej čelíme, je taká, že by sme mali byť schopní v blízkej budúcnosti zmeniť adresy IP. A nechceme sa spoliehať na to, že klient urobí zmeny v záznamoch A vo svojich doménach. Preto sme si mysleli, že použitie záznamov CNAME bude fungovať, ale ako sme zistili, záznamy CNAME nebudú fungovať pre koreňovú doménu.

V zásade:

Customer1.example IN CNAME customer1.mycompanydomain.example // to je neplatné, pretože RFC www.customer1.example IN CNAME customer1.mycompanydomain.example // toto je platné a bude fungovať

Chceme byť schopní zmeniť IP adresu customer1.mycompanydomain.example alebo záznamu A a naši zákazníci sa budú riadiť týmto záznamom, ktorý kontrolujeme.

v našom DNS to bude vyzerať takto:

Customer1.mycompanydomain.example IN A 192.0.2.1

Nejaké nápady?

8 odpovedí

Ďakujem sipwizovi a pánovi Zlému. Vyvinuli sme skript PHP, ktorý bude analyzovať adresu URL, ktorú používateľ zadá, a na začiatok vloží www. (napríklad ak zákazník vstúpi na stránku kiragiannis.com, bude presmerovaný na stránku www.kiragiannis.com). Náš klient teda nasmeruje svoj koreň (napr. Customer1.com na záznam A, kde je umiestnený náš webový presmerovač) a potom www CNAME na skutočný záznam A, ktorý spravujeme.

Nižšie je uvedený kód pre prípad, že by vás zaujímala budúcnosť.

Dôvod, prečo sa táto otázka stále veľa objavuje, je ten, že ako ste už spomenuli, niekde si niekto myslel, že je to dôležitý autor, ktorý v RFC uvádza, že názvy domén bez subdomén pred nimi nie sú platné. Ak si však pozorne prečítate RFC, uvedomíte si, že to nie je presne to, čo hovorí. V skutočnosti RFC 1912 uvádza:

Nepreháňajte to s CNAME. Použite ich pri premenovaní hostiteľov, ale plán ich zbaviť (a informujte svojich používateľov).

Niektorí hostitelia DNS poskytujú spôsob, ako získať funkčnosť podobnú CNAME v hornej časti zóny (úroveň koreňovej domény pre holý názov domény) pomocou vlastný typ záznamy. Medzi také záznamy patria napríklad:

  • Alias \u200b\u200bv DNSimple
  • ANAME v DNS ľahko a rýchlo
  • ANAME na easyDNS
  • CNAME na CloudFlare

Pre každého poskytovateľa internetových služieb je nastavenie rovnaké: zadajte záznam ALIAS alebo ANAME pre svoju vrcholovú doménu na example.domain.com, rovnako ako pre záznam CNAME. V závislosti od poskytovateľa DNS označuje horná časť zóny prázdna hodnota alebo hodnota @Name.

ALIAS alebo ANAME alebo @ example.domain.com.

Ak váš poskytovateľ DNS nepodporuje tento typ záznamu a nemôžete sa prepnúť na taký, ktorý ho podporuje, budete musieť použiť presmerovanie subdomény, čo nie je také zložité v závislosti na strane protokolu alebo servera. softvérčo by to malo robiť,

Rozhodne nesúhlasím s tvrdením, že to robia iba „amatérski správcovia“ alebo podobné nápady. Je to iba „Čo musí robiť meno a jeho služby?“ porozumieť a potom prispôsobiť svoju konfiguráciu DNS tak, aby vyhovovala týmto želaniam; Ak sú vaše hlavné služby internet a emailNevidím žiadne SKUTOČNÉ dôvody, prečo by bolo trvalé vymazanie CNAME problematické. Nakoniec, kto by uprednostnil @ subdomain.domain.org pred @ domain.org? Kto potrebuje „www“, ak ste už nakonfigurovali samotný protokol? Je nelogické predpokladať, že použitie názvu koreňovej domény by bolo neplatné.

CNAME - Záznam root nie je technicky proti RFC, má však obmedzenia, čo znamená, že sa neodporúča.

Váš koreňový záznam bude zvyčajne obsahovať viac záznamov. Povedzme 3 pre vaše servery mien a potom jeden pre adresu IP.

Ak je na uzle záznam CNAME RR, nemali by byť prítomné žiadne ďalšie údaje;

A v dokumente IETF “ Bežné chyby v práci a konfigurácia DNS":

To je často zrejmé ako neskúsení správcovia, aby sa ubezpečil, že váš doménové meno bol aj hostiteľom. Avšak Servery DNSako BIND uvidí CNAME a odmietne pre tento názov pridať akékoľvek ďalšie zdroje. Pretože s CNAME nie je dovolené koexistovať žiadne ďalšie záznamy, záznamy NS sú ignorované. Preto sú všetci hostitelia v doméne podunk.xx tiež ignorovaní!

Neviem, ako to riešia, ani aké negatívne vedľajšie účinky by to mohlo mať, ale na hosťovanie niektorých svojich domén používam stránky Hover.com a nedávno som nastavil vrchol svojej domény na CNAME. Ich nástroj na úpravu DNS sa vôbec nesťažoval a moja doména sa veselo rieši cez pridelený CNAME.

Tu mi zobrazuje Dig pre túto doménu (skutočná doména bežiaca ako mydomain.com):

; <<>\u003e DiG 9.8.3-P1<<>\u003e mydomain.com ;; globálne možnosti: + cmd ;; Mám odpoveď: ;; - \u003e\u003e Záhlavie<<- opcode: QUERY, status: NOERROR, id: 2056 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;mydomain.com. IN A ;; ANSWER SECTION: mydomain.com. 394 IN CNAME myapp.parseapp.com. myapp.parseapp.com. 300 IN CNAME parseapp.com. parseapp.com. 60 IN A 54.243.93.102

Na koniec externej domény musíte dať bodku, aby si nemyslela, že máte na mysli client1.mycompanydomain.com.localdomain;

Stačí teda zmeniť:

Customer1.com V CNAME customer1.mycompanydomain.com

Customer1.com V CNAME customer1.mycompanydomain.com.

Sipwiz je správny, jediný spôsob, ako to urobiť dobre, je hybridný prístup HTTP a DNS. Môj registrátor je predajcom spoločnosti Tucows a ponúka presmerovanie domén ako bezplatnú pridanú hodnotu.

Ak je vaša doména blah.com, opýta sa vás, kam chcete doménu presmerovať, a zadajte ju na adrese www.blah.com. Priradia záznamu A k svojmu serveru apache a automaticky pridajú blah.com ako svojho hostiteľa DNS. Vhost reaguje s chybou HTTP 302 a presmeruje ich na správnu adresu URL. Je to jednoduché na skript / nastavenie a dá sa s ním manipulovať low-end, inak by bol vyradený.

Spustite napríklad nasledujúci príkaz: curl -v eclecticengineers.com

DNS (Domain Name System) je „telefónny zoznam“ Internetu. Používa IP adresu ako telefónne číslo a domény ako mená kontaktov. V takejto knihe môžete uviesť nielen „telefónne číslo“, ale aj ďalšie informácie o kontakte („e-mail“, „miesto výkonu práce“ atď.).

Informácie o doméne sú uložené na serveroch DNS. Ak ho chcete pridať do systému DNS, musíte sa zaregistrovať záznamy o zdrojoch... S ich pomocou servery zdieľajú informácie o doménach s inými servermi. Kým nebudú zaregistrované záznamy o prostriedkoch pre doménu, táto sa nenachádza v „telefónnom zozname“ Internetu. Preto je práca stránky alebo pošty na nej nemožná. Predtým, ako začnete zadávať záznamy o prostriedkoch, musíte delegovať doménu, to znamená zaregistrovať pre ňu servery DNS. Môžete to urobiť podľa pokynov :. Potom prejdite na záznamy zdrojov. Zmeny sa prejavia po aktualizácii serverov DNS (zvyčajne do 24 hodín).

Hlavnými zdrojovými záznamami sú záznamy A, CNAME, MX, TXT a SPF. Zvážme ich podrobnejšie.

Záznam A

Záznam A (adresa) je jedným z kľúčových záznamov o prostriedkoch na internete. Je potrebné pripojiť doménu k IP adrese servera. Kým nebude zaregistrovaný záznam A, váš web nebude fungovať.
Keď zadáte názov webu do panela s adresou prehliadača, pomocou záznamu A určí server DNS, z ktorého servera musíte otvoriť svoje stránky.

Príklady záznamu A:

Zaznamenať menoTyp záznamuHodnota
site.ruA123.123.123.123
shop.site.ruA123.123.123.123

Registráciu záznamu A môžete vykonať podľa pokynov:

Záznam CNAME

CNAME (Canonical name) je záznam zodpovedný za prepojenie subdomén (napríklad www.site.ru) s kanonickým názvom domény (site.ru) alebo inou doménou.
Hlavnou funkciou CNAME je duplikovanie záznamov o doménových prostriedkoch (A, MX, TXT) pre rôzne subdomény.

Príklady záznamu CNAME:

Zaznamenať menoTyp záznamuHodnota
www.site.ruCNAMEsite.ru
webmail.site.ruCNAMEwebmail.hosting.site

Ak zaregistrujete CNAME pre subdoménu www.site.ru a zadajte hodnotu site.ru, stránka sa otvorí z rovnakej adresy IP ako site.ru... Ak zaregistrujete CNAME pre mail.site.ru a uveďte hodnotu webmail.hosting.sitepotom ďalej mail.hosting.site budú sa distribuovať rovnaké záznamy zdrojov ako pre webmail.hosting.site.

Použitie záznamu CNAME vylučuje použitie ďalších záznamov o prostriedkoch pre túto subdoménu, to znamená pre subdoménu webmail.site.ru alebo www.site.ru nemôžete pridať súčasne záznam A aj záznam CNAME.

Záznam CNAME môžete zaregistrovať podľa pokynov:

MX záznam

MX (Mail Exchanger) je záznam zodpovedný za server, cez ktorý bude pošta fungovať. Záznamy MX sú rozhodujúce pre fungovanie pošty. Vďaka nim odosielajúca strana „rozumie“, na ktorý server musíte posielať poštu pre vašu doménu.

Príklady MX záznamov:

Zaznamenať menoTyp záznamuPrioritaHodnota
site.ruMX10 mx1.hosting.site
site.ruMX15 mx2.hosting.site

kde mx1.hosting ..

Zvyčajne sú určené dva poštové servery, takže ak jeden z nich nie je k dispozícii, pošta sa bude naďalej odosielať druhému. Priorita záznamu určuje, na ktorý server by sa mala pošta odoslať ako prvá. Čím nižšie číslo, tým vyššia priorita. Pre doménový názov site.ru je teda poštový server mx1.hosting..hosting .. Ak je priorita rovnaká, je server vybraný náhodne.

MX záznam môžete zaregistrovať podľa pokynov:

Záznam TXT

TXT (Text string) - záznam, pomocou ktorého sú nastavené potrebné textové komentáre pre doménu. Často sa používa na kontrolu vlastníctva domény pri pripájaní ďalších služieb, rovnako ako kontajner na zaznamenávanie kľúčov SPF a DKIM. Môžete zaregistrovať neobmedzený počet záznamov TXT, ak nie sú vo vzájomnom konflikte.

Záznam TXT môžete zaregistrovať podľa pokynov:

Záznam SPF

Záznam SPF (Sender Policy Framework) obsahuje informácie o zozname serverov, ktoré majú povolené odosielať správy v mene zadanej domény. Zabráni neoprávnenému použitiu. Nastavenie SPF sa zapíše do záznamu TXT pre doménu.

Príklad záznamu SPF:

Zaznamenať menoTyp záznamuHodnota
site.ruTXTv \u003d spf1 include: _spf.hosting..123.123.123 a mx ~ all

kde 123.123.123.123 je adresa IP servera, ktorý potrebujete.

V tomto príklade:

  • v \u003d spf1 - definuje verziu použitého záznamu SPF;
  • zahŕňajú: _spf.hosting.site - zahrnie do záznamu SPF hodnotu záznamu SPF inej domény. To znamená, že všetky hodnoty záznamu SPF pre doménu „_spf.hosting.site“ budú pre doménu platné;
  • ip4:123.123.123.123 - umožňuje príjem pošty z adresy IP 123.123.123.123;
  • a - umožňuje prijímať poštu zo servera, ktorého adresa IP je v zázname zdroja domény A. Jednoducho povedané, zo servera, na ktorom je web hostený;
  • mx - umožňuje príjem pošty, ak je server odosielateľa uvedený v jednom zo záznamov MX pre doménu;
  • ~ všetky - ak list pochádza zo serveru, ktorý nie je uvedený v zozname vyššie, mal by byť analyzovaný dôkladnejšie. Tiež sa niekedy používa -všetky - v takom prípade list neprechádza ďalšími kontrolami a je okamžite zamietnutý.

Záznam SPF môžete zaregistrovať podľa pokynov:

Záznamy NS, PTR, SOA sú záznamy služieb a zvyčajne sa konfigurujú automaticky.

Záznam NS

Záznam NS (Autoritatívny názov servera) ukazuje na servery DNS, ktoré sú zodpovedné za ukladanie zvyšných záznamov prostriedkov domény. Počet záznamov NS musí striktne zodpovedať počtu všetkých serverov, ktoré ich obsluhujú. Kritické pre službu DNS.

Záznam PTR

PTR je reverzný záznam DNS, ktorý spája adresu IP servera s jeho kanonickým názvom (doménou). Záznam PTR sa používa na filtrovanie pošty. Ak ste si objednali server VPS alebo vyhradený server, môžete záznam PTR zaregistrovať podľa pokynov:

Záznam SOA

SOA (Začiatok oprávnenia) - Počiatočný záznam zóny, ktorý určuje, ktorý server ukladá informácie o referenčnom názve domény. Kritické pre službu DNS. Môžete sa dozvedieť viac o tom, čo je záznam SOA a ako ho skontrolovať.

  • Prenos

Pozorný čitateľ na tomto obrázku nájde protokol IPv6


Ľudia sú často z domén zmätení. Prečo môj web nefunguje? Prečo sú tieto kecy zlomené, nič nepomáha, len chcem, aby to fungovalo! Dotazník zvyčajne nevie o DNS alebo nechápe základné myšlienky. Pre mnohých je DNS strašidelná a nepochopiteľná vec. Tento článok je pokusom rozptýliť taký strach. DNS je jednoduchoak rozumieš pár základným pojmom.

Čo je to DNS

DNS znamenať Systém názvov domén... Je to globálne distribuovaný sklad kľúčov a hodnôt. Servery po celom svete vám môžu poskytnúť hodnotu podľa kľúča. Ak tento kľúč nepoznajú, požiadajú o pomoc iný server.


To je všetko. Pravdaže. Vy alebo váš prehliadač požiadate o hodnotu kľúča www.example.com a dostanete odpoveď 1.2.3.4.

Základné veci

Veľkým plusom služby DNS je, že ide o verejnú službu, a pokiaľ chcete na to prísť, môžete vstúpiť na servery. Vyskúšajme. Mám doménu petekeen.net hostenú na stroji web01.bugsplat.info. Nasledujúce príkazy je možné spustiť z príkazového riadku OS X ( ach, teda macOS - cca. za.).


Poďme sa pozrieť na mapovanie medzi menom a adresou:


$ dig web01.bugsplat.info

Príkaz dig je švajčiarsky armádny nôž pre dotazy DNS. Super multifunkčné náradie. Tu je prvá časť odpovede:


; <<>\u003e DiG 9.7.6-P1<<>\u003e web01.bugsplat.info ;; globálne možnosti: + cmd ;; Mám odpoveď: ;; - \u003e\u003e Záhlavie<<- opcode: QUERY, status: NOERROR, id: 51539 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

Je tu iba jeden zaujímavý detail: informácie o samotnej žiadosti. Hovorí sa v ňom, že sme požadovali záznam a dostali sme presne jednu odpoveď. Tu je:


;; SEKCIA OTÁZOK :; web01.bugsplat.info. V

dig predvolene žiada o záznamy A. A je adresa (adresa), a je to jeden zo základných typov záznamov DNS. A obsahuje jednu adresu IPv4. Pre adresy IPv6 existuje ekvivalent - AAAA. Poďme sa pozrieť na odpoveď:


;; SEKCIA ODPOVEĎ: web01.bugsplat.info. 300 IN A 192.241.250.244

Zvyšok odpovede popisuje samotnú odpoveď:


;; Čas zadania: 20 ms ;; SERVER: 192.168.1.1 # 53 (192.168.1.1) ;; KEDY: Pi Jul 19 20:01:16 2013 ;; VEĽKOSŤ MSG rcvd: 56

Konkrétne sa v ňom píše, ako dlho serveru trvalo odpovedať, aká je adresa IP servera (192.168.1.1), na ktorý kopanie portov klepal (53, predvolený port DNS), kedy bola žiadosť dokončená a koľko bajtov boli v odpovedi.


Ako vidíte, s bežným dotazom DNS sa toho deje veľa. Prehliadač zakaždým, keď otvoríte webovú stránku, urobí desiatky týchto požiadaviek, vrátane načítania všetkých externých zdrojov, ako sú obrázky a skripty. Každý zdroj je zodpovedný za najmenej jednu novú požiadavku DNS, a ak by DNS neboli určené na silné ukladanie do medzipamäte, vygenerovala by sa veľká časť prenosu.


Ale v tomto príklade nevidíte, že server DNS 192.168.1.1 kontaktoval veľa ďalších serverov a odpovedal na jednoduchú otázku: „Kam smeruje web01.bugsplat.info?“ Poďme spustiť stopu a dozvieme sa o celom možnom reťazci, ktorý by dig musel „prejsť, keby informácie neboli uložené v pamäti:


$ dig + stopa web01.bugsplat.info;<<>\u003e DiG 9.7.6-P1<<>\u003e + stopa web01.bugsplat.info ;; globálne možnosti: + cmd. 137375 V NS l.root-servers.net. ... 137375 V NS m.root-servers.net. ... 137375 IN NS a.root-servers.net. ... 137375 V NS b.root-servers.net. ... 137375 V NS c.root-servers.net. ... 137375 V NS d.root-servers.net. ... 137375 V NS e.root-servers.net. ... 137375 IN NS f.root-servers.net. ... 137375 V NS g.root-servers.net. ... 137375 IN NS h.root-servers.net. ... 137375 V NS i.root-servers.net. ... 137375 V NS j.root-servers.net. ... 137375 V NS k.root-servers.net. ;; Prijatých 512 bajtov z adresy 192.168.1.1 # 53 (192.168.1.1) za 189 ms. 172800 V NS c0.info.afilias-nst.info. Info. 172800 V NS a2.info.afilias-nst.info. Info. 172800 V NS d0.info.afilias-nst.org. Info. 172800 IN NS b2.info.afilias-nst.org. Info. 172800 V NS b0.info.afilias-nst.org. Info. 172800 V NS a0.info.afilias-nst.info. ;; Prijaté 443 bajtov z adresy 192.5.5.241 # 53 (192.5.5.241) za 1224 ms bugsplat.info. 86400 V NS ns-1356.awsdns-41.org. bugsplat.info. 86400 V NS ns-212.awsdns-26.com. bugsplat.info. 86400 IN NS ns-1580.awsdns-05.co.uk. bugsplat.info. 86400 V NS ns-911.awsdns-49.net. ;; Prijatých 180 bajtov z 199.254.48.1 # 53 (199.254.48.1) za 239 ms web01.bugsplat.info. 300 IN A 192.241.250.244 bugsplat.info. 172800 V NS ns-1356.awsdns-41.org. bugsplat.info. 172800 V NS ns-1580.awsdns-05.co.uk. bugsplat.info. 172800 V NS ns-212.awsdns-26.com. bugsplat.info. 172800 V NS ns-911.awsdns-49.net. ;; Prijatých 196 bajtov od 205.251.195.143 # 53 (205.251.195.143) za 15 ms

Informácie sa zobrazujú v hierarchickom poradí. Pamätajte, ako dig vložil bodku. po hostiteľovi, web01.bugsplat.info? Takže bodka. toto je dôležitý detail a predstavuje koreň hierarchie.


Root DNS servery sú spravované rôznymi spoločnosťami a krajinami po celom svete. Spočiatku ich bolo málo, ale internet rástol a teraz ich je už 13. Ale každý zo serverov má desiatky alebo stovky fyzických strojov, ktoré sa skrývajú za jednou IP.


Na samom vrchole sledovania sú koreňové servery, ktoré sú definované pomocou záznamu NS. Záznam NS prepája názov domény (v tomto prípade koreňovú doménu) so serverom DNS. Keď zaregistrujete názov domény u registrátora, ako je Namecheap alebo Godaddy, vytvoria pre vás záznamy NS.


V nasledujúcom bloku môžete vidieť, ako dig vybral náhodný koreňový server a požiadal ho o záznam A pre web01.bugsplat.info. Viditeľná je iba adresa IP koreňového servera (192.5.5.241). Ktorý koreňový server to teda bol? Poďme zistiť!


$ dig -x 192.5.5.241;<<>\u003e DiG 9.8.3-P1<<>\u003e -x 192.5.5.241 ;; globálne možnosti: + cmd ;; Mám odpoveď: ;; - \u003e\u003e Záhlavie<<- opcode: QUERY, status: NOERROR, id: 2862 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;241.5.5.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 241.5.5.192.in-addr.arpa. 3261 IN PTR f.root-servers.net.

Príznak -x vynúti dig, aby vykonal spätné vyhľadanie IP adresy. DNS reaguje záznamom PTR, ktorý spája IP a hostiteľa, v tomto prípade f.root-servers.net.


Keď sa vrátime k našej pôvodnej žiadosti, koreňový server F vrátil inú sadu serverov NS. Je zodpovedný za informácie o doméne najvyššej úrovne. dig požiada jeden z týchto serverov o záznam A pre web01.bugsplat.info a ako odpoveď prijme ďalšiu sadu serverov NS a potom požiada jeden z týchto servery Záznam pre web01.bugsplat.info. ... Nakoniec dostane odpoveď!


Uf! Bolo by vygenerovaných veľa prenosu, ale takmer všetky tieto záznamy boli permanentne uložené v pamäti každého servera v reťazci. Váš počítač tiež ukladá tieto údaje do pamäte, rovnako ako váš prehľadávač. Najčastejšie sa dotazy DNS nikdy nedostanú ku koreňovým serverom, pretože ich adresy IP sa takmer nikdy nezmenia ( "Pravdepodobne rovnako hovoríme o veľkej TTL pre záznamy v ich databáze." Ak sa adresa IP servera DNS nikdy vôbec nezmenila, neznamená to, že jeho databáza je trvale uložená v medzipamäti. “ - približne. z rrrav). Domény najvyššej úrovne com, net, org atď. sú tiež zvyčajne veľmi uložené v medzipamäti.

Ostatné typy

Existuje niekoľko ďalších typov, o ktorých sa oplatí vedieť. Prvý je MX. Spája názov domény s jedným alebo viacerými poštovými servermi. E-mail je taký dôležitý, že má svoj vlastný typ záznamu DNS. Tu sú hodnoty MX pre petekeen.net:


$ dig petekeen.net mx;<<>\u003e DiG 9.7.6-P1<<>\u003e petekeen.net mx ;; globálne možnosti: + cmd ;; Mám odpoveď: ;; - \u003e\u003e Záhlavie<<- opcode: QUERY, status: NOERROR, id: 18765 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;petekeen.net. IN MX ;; ANSWER SECTION: petekeen.net. 86400 IN MX 60 web01.bugsplat.info. ;; Query time: 272 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Jul 19 20:33:43 2013 ;; MSG SIZE rcvd: 93

Upozorňujeme, že záznam MX sa týka mena, nie adresy IP.


Ďalším typom, ktorý pravdepodobne poznáte, je CNAME. Dešifruje ako Kanonický názov (kanonický názov). Spája jedno meno s druhým. Poďme sa pozrieť na odpoveď:


$ dig www.petekeen.net;<<>\u003e DiG 9.7.6-P1<<>\u003e www.petekeen.net ;; globálne možnosti: + cmd ;; Mám odpoveď: ;; - \u003e\u003e Záhlavie<<- opcode: QUERY, status: NOERROR, id: 16785 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.petekeen.net. IN A ;; ANSWER SECTION: www.petekeen.net. 86400 IN CNAME web01.bugsplat.info. web01.bugsplat.info. 300 IN A 192.241.250.244 ;; Query time: 63 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Jul 19 20:36:58 2013 ;; MSG SIZE rcvd: 86

Okamžite je zrejmé, že sme dostali dve odpovede. Prvý hovorí, že www.petekeen.net odkazuje na web01.bugsplat.info. Druhý vráti záznam A. pre tento server. CNAME si môžete predstaviť ako alias (alebo alias) pre iný server.

Čo je zlé na CNAME

Záznamy CNAME sú veľmi užitočné, ale je tu dôležitý bod: ak existuje záznam CNAME s určitým názvom, nemôžete vytvoriť ďalší záznam s rovnakým názvom. Žiadne MX, žiadne A, žiadne NS, nič.


Je to preto, lebo DNS robí výmenu takým spôsobom, že všetky záznamy, na ktoré smeruje CNAME, sú platné aj pre CNAME. V našom príklade sa záznamy pre www.petekeen.net a web01.bugsplat.info budú zhodovať.


Preto nemôžete robiť CNAME v koreňovej doméne, ako je petekeen.net, pretože tam sú zvyčajne potrebné ďalšie záznamy, napríklad MX.

Žiadosti doručené iným serverom

Predstierajme, že konfigurácia DNS je pokazená. Zdá sa vám, že ste problém vyriešili, ale pre istotu nechcete čakať na aktualizáciu vyrovnávacej pamäte. Pomocou dig môžete namiesto pôvodného servera dotazovať na verejný server DNS, napríklad takto:


$ dig www.petekeen.net @ 8.8.8.8

Symbol @ s adresou IP alebo hostiteľom spôsobí, že dig bude dopytovať zadaný server na predvolenom porte. Na 4.2.2.2 môžete použiť verejný server DNS spoločnosti Google alebo takmer verejný server úrovne 3.

Typické situácie

Poďme sa pozrieť na typické situácie, ktoré pozná mnoho webových vývojárov.

Presmerovanie domény na www

Často je potrebné presmerovať doménu iskettlemanstillopen.com na www.iskettlemanstillopen.com. Nazývajú to registrátori ako Namecheap alebo DNSimple URL Redirect... Tu je príklad z oblasti správy Namecheap:



Symbol @ znamená koreňovú doménu iskettlemanstillopen.com. Pozrime sa na záznam A pre túto doménu:


$ dig iskettlemanstillopen.com ;; SEKCIA OTÁZOK :; iskettlemanstillopen.com. V ;; SEKCIA ODPOVEDÍ: iskettlemanstillopen.com. 500 IN A 192.64.119.118

Táto adresa IP patrí spoločnosti Namecheap a je tu spustený malý webový server, ktorý iba presmeruje úroveň HTTP na adresu http://www.iskettlemanstillopen.com:


$ curl -I iskettlemanstillopen.com curl -I iskettlemanstillopen.com HTTP / 1.1 302 dočasne presunuté Server: nginx dátum: pia, 19. júla 2013 23:53:21 GMT typ obsahu: text / html pripojenie: keep-alive obsah-dĺžka : 154 Umiestnenie: http://www.iskettlemanstillopen.com/

CNAME pre Heroku alebo Github

Pozrite sa na snímku obrazovky vyššie. Na druhom riadku je CNAME. V tomto prípade www.iskettlemanstillopen.com ukazuje na aplikáciu bežiacu na Heroku.


$ heroku domény \u003d\u003d\u003d teplá cesta-3906 Doménové mená teplá cesta-3906.herokuapp.com www.iskettlemanstillopen.com

Github má podobný príbeh, ale tam je potrebné vytvoriť špeciálny súbor v koreňovom adresári úložiska a pomenovať ho CNAME. Pozrite si dokumentáciu .dns Pridať štítky