Kaip veikia domenai ir DNS: vadovas ne kūrėjams
Domenas yra vardas, kurį žmonės įveda, kad pasiektų jūsų svetainę, pavyzdžiui, example.com, o DNS (Domain Name System) yra interneto katalogas, kuris verčia tą vardą į vietą, kur iš tikrųjų veikia jūsų svetainė. Domeną išsinuomojate iš registratoriaus, tada pridedate DNS įrašus, kurie sako „svetainė yra ten“ ir „el. paštas eina čia“. Pasirinktinio domeno prijungimas prie programėlės daugiausia reiškia tinkamo įrašo pridėjimą tinkamoje vietoje ir laukimą, kol jis įsigalios.
Kodėl tai svarbu kuriant su DI
DI programėlių kūrimo įrankis gali parašyti ir talpinti jūsų programėlę, bet jūsų domenas gyvena už jos ribų – dažnai pas atskirą kompaniją, valdymo skydelyje, pilname nepažįstamų įrašų tipų. Čia daugelis paleidimų sustoja: programėlė paruošta, bet domenas rodo klaidą arba po DNS pakeitimo staiga nustoja veikti el. paštas.
Nedidelis supratimas daug padeda. Žinosite, kokio įrašo reikalauja jūsų talpinimo paslauga, kodėl jis dar neveikia ir kaip nesugadinti dalykų (pavyzdžiui, el. pašto), kurie jau priklauso nuo jūsų domeno.
Kasdienė analogija
Pagalvokite apie savo telefono kontaktų sąrašą.
Neprisimenate draugo numerio; palietėte jo vardą, o telefonas jį suranda. DNS daro tą patį internete: įvedate example.com, o DNS suranda serverio numerį (IP adresą), prie kurio reikia prisijungti.
- Domenas yra kontakto vardas.
- Registratorius yra kompanija, kuri oficialiai įregistruoja, kad vardas priklauso jums.
- DNS įrašai yra duomenys, išsaugoti po tuo vardu: telefono numeris, el. pašto adresas, namų adresas.
- Vardų serveriai yra tai, kuri kontaktų knygelė yra oficiali tam vardui.
- Podėlis (cache) yra tai, kad jūsų telefonas kurį laiką prisimena numerį. Jei draugas pakeičia numerį, kai kurie telefonai dar kurį laiką skambins senuoju, kol išsaugota kopija bus atnaujinta – tai ir yra DNS „plitimas“.
Domeno vardo dalys
Imkite app.example.com:
| Dalis | Pavadinimas | Pastabos |
|---|---|---|
.com | Aukščiausio lygio domenas (TLD) | Valdo registras. Kiti – .org, .io, .ai, šalių kodai, pavyzdžiui, .lt |
example | Antrojo lygio domenas | Dalis, kurią registruojate |
example.com | Šakninis arba „apex“ domenas | Tai, ką turite |
app | Subdomenas | Juos DNS kuriate laisvai – www, app, shop |
Domeno tiesiog nenusipirkote visam laikui; jį registruojate tam tikram laikotarpiui (paprastai metams ar ilgiau) ir pratęsiate. Jei leisite jam pasibaigti, jį gali įregistruoti kas nors kitas.
Kaip veikia DNS paieška
Kai kas nors įveda app.example.com:
- Naršyklė kreipiasi į DNS resolverį – paprastai jį valdo interneto teikėjas ar viešoji paslauga – dėl adreso.
- Jei resolveris turi šviežią podėlyje išsaugotą atsakymą, jis atsako iš karto.
- Jei ne, jis eina per hierarchiją: šakniniai serveriai nukreipia į
.comserverius, o šie – į jūsų domeno vardų serverius. - Jūsų vardų serveriai grąžina įrašą, kurį nustatėte, pavyzdžiui, CNAME į jūsų talpinimo paslaugą arba A įrašą su IP adresu.
- Resolveris atsakymą išsaugo podėlyje pagal įrašo TTL (gyvavimo laiką) ir perduoda naršyklei, kuri prisijungia prie serverio.
Visa tai paprastai įvyksta per milisekundes.
DNS įrašų tipai, kuriuos iš tikrųjų naudosite
| Įrašas | Ką daro | Pavyzdys |
|---|---|---|
| A | Nukreipia vardą į IPv4 adresą | example.com → 203.0.113.10 |
| AAAA | Nukreipia vardą į IPv6 adresą | example.com → 2001:db8::10 |
| CNAME | Padaro vardą kito serverio vardo pseudonimu | app.example.com → myapp.host.com |
| MX | Nurodo, kurie serveriai priima domeno el. paštą, su prioriteto numeriu | example.com → 10 mail.provider.com |
| TXT | Laiko tekstą, naudojamą patvirtinimui ir el. pašto saugumui | v=spf1 include:_spf.provider.com ~all |
| NS | Išvardija domeno autoritetingus vardų serverius | ns1.dnsprovider.com |
| CAA | Riboja, kurios sertifikavimo institucijos gali išduoti HTTPS sertifikatus | 0 issue "letsencrypt.org" |
Kelios verta žinoti taisyklės:
- CNAME negali dalintis vardu su kitais įrašais. Todėl standartinis CNAME negali būti šakniniame domene, kuriame visada yra NS ir kiti įrašai. Daugelis DNS tiekėjų siūlo sprendinius, vadinamus ALIAS, ANAME ar CNAME flattening.
- TXT įrašai atlieka daug el. pašto darbo. SPF nurodo, kas gali siųsti paštą jūsų domenui; DKIM skelbia raktą parašams patikrinti; DMARC nurodo gavėjams, ką daryti su paštu, kuris neišlaiko tų patikrinimų.
- Mažesnis MX numeris reiškia didesnį prioritetą. Paštas pirmiausia bandomas su mažiausiu.
Plitimas ir TTL
„Plitimas“ skamba taip, lyg pakeitimai lėtai sklistų internetu. Iš tikrųjų veikia podėlis: resolveriai kiekvieno atsakymo kopiją laiko pagal TTL ir klausia iš naujo tik tada, kai ji pasibaigia. Taigi:
- Naujas įrašas, kurio dar niekas nepaieškojo, dažnai veikia per kelias minutes.
- Pakeitus esamą įrašą, jo naujas versijas visur matyti iki senojo TTL pabaigos.
- Keičiant vardų serverius, gali prireikti iki dienos ar dviejų, nes šie įrašai TLD lygmenyje saugomi ilgiau.
Naudingas patarimas: prieš planuojamą pakeitimą sumažinkite įrašo TTL (pavyzdžiui, iki kelių minučių), palaukite, kol pasibaigs senasis TTL, ir tada atlikite pakeitimą.
Darbo pavyzdys: rezervacijų programėlės prijungimas prie jūsų domeno
Jums priklauso yoursalon.com. Jūsų dabartinę svetainę ir Google Workspace el. paštą jau naudoja šis domenas. Sukūrėte rezervacijų programėlę ir norite, kad ji būtų book.yoursalon.com.
- Raskite, kur valdomas jūsų DNS. Tai gali būti jūsų registratorius ar atskiras DNS tiekėjas. Jūsų NS įrašai parodo.
- Pridėkite CNAME vardui
book, nukreiptą į tikslą, kurį nurodo jūsų programėlės talpinimo paslauga. - Pridėkite bet kokį TXT įrašą, kurio jūsų talpinimo paslauga reikalauja nuosavybei patvirtinti, jei ji tokį naudoja.
- Nelieskite MX ir el. pašto TXT įrašų. El. paštas veiks, nes jo neliečiate.
- Patikrinkite savo talpinimo paslaugoje, kai DNS atsinaujins. Tada talpinimo paslauga išduos HTTPS sertifikatą
book.yoursalon.com. - Išbandykite telefone naudodami mobilųjį ryšį, nes jis naudoja kitą resolverį ir podėlį nei jūsų namų Wi-Fi.
Jei norėtumėte programėlės šakniniame yoursalon.com, reikėtų A įrašų arba jūsų DNS tiekėjo ALIAS/flattening funkcijos – ir tuo atveju pakeistumėte dabartinę svetainę. Daugiau žingsnių rasite kaip prijungti pasirinktinį domeną.
Dažnos klaidos ir klaidingi įsitikinimai
- „Domenas ir talpinimas yra tas pats.“ Domenas yra vardas; talpinimas yra vieta, kur veikia programėlė. DNS juos susieja.
- A įrašo naudojimas, kai talpinimo paslauga prašė CNAME (arba atvirkščiai). Tiksliai vykdykite talpinimo paslaugos nurodymus.
- Klaidos tiksle. Vienas neteisingas simbolis CNAME tiksle – ir patvirtinimas nepavyks.
- Vardų serverių keitimas nenukopijavus įrašų. DNS perkėlimas pas naują tiekėją be MX ir TXT įrašų atkūrimo – klasikinis būdas sugadinti el. paštą.
- Proxy įjungimas, kai to nereikia. Kai kurie DNS tiekėjai, pavyzdžiui, Cloudflare, gali tarpinio serverio būdu nukreipti srautą. Kai kurioms talpinimo paslaugoms įrašas turi būti nustatytas į „tik DNS“, kad jos galėtų išduoti sertifikatus.
- „Nežinomų“ TXT įrašų trynimas. Dažnai tai patvirtinimo ar el. pašto saugumo įrašai, nuo kurių kažkas priklauso.
- Leisti domenui pasibaigti. Įjunkite automatinį pratęsimą ir atnaujinkite mokėjimo kortelę.
Ko prašyti savo DI kūrimo įrankio
DNS gyvena už jūsų kodo ribų, todėl čia svarbiau, ką klausti apie:
- „Kokį tiksliai DNS įrašą man reikia app.mydomain.com – tipą, vardą ir reikšmę?“
- „Ar šis pakeitimas paveiks mano el. paštą?“
- „Po įrašo pridėjimo domenas rodo klaidą. Ką turėčiau patikrinti?“
- „Nustatykite teisingą kanoninį URL ir nukreipimus, kad www ir be www neatidarytų svetainės abu.“
- „Nustatykite el. laiškų siuntimą iš mano domeno – kokių SPF, DKIM ir DMARC įrašų reikės?“ Žr. kaip siųsti el. laiškus iš savo programėlės.
Pasirinktiniai domenai Mythex
Kiekviena publikuota Mythex programėlė gauna jusuvardas.mythex.app adresą. Pro plane vietoj to galite naudoti savo domeną: nusipirkti jį Mythex viduje (registracija mokama atskirai, o nusipirkusių domenų DNS tvarkomas už jus) arba prijungti jau turimą domeną, pridedant CNAME nuo subdomeno, pavyzdžiui, app.example.com, į jūsų programėlės adresą jusuvardas.mythex.app, tada paspaudžiant Verify. HTTPS išduodamas automatiškai. Jei jūsų DNS yra Cloudflare, nustatykite tą įrašą į „tik DNS“. Rekomenduojami subdomenai; šakniniams domenams reikia, kad jūsų DNS tiekėjas palaikytų ALIAS ar flattening. Pasirinktinio domeno dokumentacija aprašo kiekvieną žingsnį, o kainos parodo, ką įtraukia Pro.
Klausimai
Kas yra DNS paprastais žodžiais?
DNS (Domain Name System) yra interneto katalogas. Jis verčia žmonėms lengvai įsimenamą vardą, pavyzdžiui, example.com, į duomenis, kurių reikia kompiuteriams – paprastai IP adresą – kad naršyklė rastų teisingą serverį.
Koks skirtumas tarp A įrašo ir CNAME?
A įrašas vardą nukreipia tiesiogiai į IPv4 adresą. CNAME vardą nukreipia į kitą serverio vardą, o paieška tęsiasi nuo ten. CNAME patogus, kai jūsų talpinimo paslaugos IP adresai gali keistis, bet standartinio CNAME negalima naudoti pačiame šakniniame domene.
Kiek trunka DNS plitimas?
Dažnai minutės, kartais valandos. Pakeitimai pasirodo, kai pasibaigia senojo įrašo podėlio (cache) kopijos galiojimas, o tai priklauso nuo įrašo TTL. Keičiant vardų serverius gali prireikti iki dienos ar dviejų, nes šie įrašai saugomi ilgiau.
Ar pakeitus DNS savo svetainei sugadinsiu el. paštą?
Tik jei pakeisite ar ištrinsite įrašus, kuriais remiasi el. paštas – MX įrašus ir TXT įrašus, tokius kaip SPF, DKIM ir DMARC. Pridėjus CNAME www ar app, el. paštas nepaliečiamas. Perkeliant domeną į naujus vardų serverius, el. paštas gali sugesti, jei prieš tai šių įrašų nenukopijuosite.
Kodėl naudoti www ar app, o ne šakninį domeną?
Subdomenas, pavyzdžiui, www.example.com ar app.example.com, gali naudoti CNAME, to dažnai reikalauja daugelis talpinimo platformų. Šakniniam domenui (example.com) standartinis CNAME netinka, todėl jam reikia A įrašų arba tiekėjo specifinės funkcijos ALIAS, ANAME ar CNAME flattening.