Kako delujejo domene in DNS: vodnik za nerazvijalce
Domena je ime, ki ga ljudje vtipkajo, da pridejo na vašo stran, na primer example.com, DNS (sistem domenskih imen) pa je imenik interneta, ki to ime prevede v to, kje vaša stran dejansko živi. Domeno najamete pri registrarju, nato dodate zapise DNS, ki pravijo »spletna stran je tam« in »e-pošta gre sem«. Povezava lastne domene z aplikacijo je večinoma vprašanje dodajanja pravega zapisa na pravem mestu in čakanja, da začne veljati.
Zakaj je to pomembno, ko gradite z umetno inteligenco
Graditelj aplikacij z umetno inteligenco lahko napiše in gosti vašo aplikacijo, vaša domena pa je zunaj nje — pogosto pri drugem podjetju, v nadzorni plošči, polni nepoznanih vrst zapisov. Tu se mnogi zagoni ustavijo: aplikacija je pripravljena, domena pa kaže napako ali pa e-pošta po spremembi DNS nenadoma preneha delovati.
Malo razumevanja veliko pomaga. Vedeli boste, kateri zapis zahteva vaš gostitelj, zakaj še ne deluje in kako preprečiti, da bi pokvarili stvari (kot je e-pošta), ki se že opirajo na vašo domeno.
Vsakdanja primerjava
Pomislite na imenik stikov v telefonu.
Ne pomnite telefonske številke prijatelja; tapnete na njegovo ime, telefon pa poišče številko. DNS počne isto za internet: vtipkate example.com, DNS pa poišče številko (naslov IP) strežnika, s katerim se želite povezati.
- Domena je ime stika.
- Registrar je podjetje, ki uradno beleži, da ime pripada vam.
- Zapisi DNS so podatki, shranjeni pod imenom: telefonska številka, e-poštni naslov, domači naslov.
- Imenski strežniki so tisti imenik, ki je uradni za to ime.
- Predpomnjenje je telefon, ki si številko zapomni za nekaj časa. Če prijatelj spremeni številko, bodo nekateri telefoni še vedno klicali staro, dokler se shranjena kopija ne osveži — to je DNS »širjenje«.
Deli imena domene
Vzemite app.example.com:
| Del | Ime | Opombe |
|---|---|---|
.com | Domena najvišje ravni (TLD) | Upravlja jo register. Drugi so .org, .io, .ai, državne kode, kot je .si |
example | Domena druge ravni | Del, ki ga registrirate |
example.com | Korenska ali »apex« domena | Kar posedujete |
app | Poddomena | Ustvarjate jih prosto v DNS — www, app, shop |
Domene ne kupite dokončno; registrirate jo za določeno obdobje (običajno leto ali več) in jo obnavljate. Če jo pustite poteči, jo lahko kdo drug registrira.
Kako poteka iskanje DNS
Ko nekdo vtipka app.example.com:
- Brskalnik vpraša DNS resolver — običajno ga upravlja njihov ponudnik internetnih storitev ali javna storitev — za naslov.
- Če ima resolver svež predpomnjen odgovor, takoj odgovori.
- Če ga nima, gre po hierarhiji navzdol: korenski strežniki ga usmerijo na strežnike
.com, ti pa na imenske strežnike vaše domene. - Vaši imenski strežniki vrnejo zapis, ki ste ga nastavili, na primer CNAME do vašega gostitelja ali zapis A z naslovom IP.
- Resolver odgovor predpomni za TTL zapisa (čas življenja) in ga preda brskalniku, ki se poveže s strežnikom.
Vse to se običajno zgodi v milisekundah.
Vrste zapisov DNS, ki jih boste dejansko uporabljali
| Zapis | Kaj počne | Primer |
|---|---|---|
| A | Ime usmeri na naslov IPv4 | example.com → 203.0.113.10 |
| AAAA | Ime usmeri na naslov IPv6 | example.com → 2001:db8::10 |
| CNAME | Naredi ime aliasom drugega gostitelja | app.example.com → myapp.host.com |
| MX | Pove, kateri strežniki prejemajo e-pošto za domeno, s številko prioritete | example.com → 10 mail.provider.com |
| TXT | Hrani besedilo, uporablja se za preverjanje in varnost e-pošte | v=spf1 include:_spf.provider.com ~all |
| NS | Navaja pooblaščene imenske strežnike domene | ns1.dnsprovider.com |
| CAA | Omeji, katere overitelji lahko izdajo certifikate HTTPS | 0 issue "letsencrypt.org" |
Nekaj pravil, ki jih je dobro poznati:
- CNAME ne more deliti imena z drugimi zapisi. Zato standardni CNAME ne more biti na korenski domeni, ki vedno ima zapise NS in druge. Mnogi ponudniki DNS ponujajo rešitve, imenovane ALIAS, ANAME ali CNAME flattening.
- Zapisi TXT opravijo veliko dela za e-pošto. SPF navaja, kdo sme pošiljati pošto za vašo domeno; DKIM objavi ključ za preverjanje podpisov; DMARC pove prejemnikom, kaj naj naredijo s pošto, ki ne uspe pri teh preverjanjih.
- Nižje številke MX pomenijo višjo prioriteto. Pošta najprej poskusi najnižjo.
Širjenje in TTL
»Širjenje« zveni, kot da se spremembe počasi širijo po internetu. Dejansko gre za predpomnjenje: resolverji hranijo kopijo vsakega odgovora za njegov TTL in ga ponovno vprašajo šele, ko ta poteče. Torej:
- Nov zapis, ki ga nihče še ni iskal, pogosto začne delovati v nekaj minutah.
- Sprememba obstoječega zapisa traja do njegovega starega TTL, da se vidi povsod.
- Sprememba imenskih strežnikov lahko traja en ali dva dneva, ker so ti zapisi na ravni TLD dlje časa v predpomnilniku.
Koristen trik: pred načrtovano spremembo znižajte TTL zapisa (recimo na nekaj minut), počakajte, da poteče stari TTL, nato naredite spremembo.
Delovni primer: povezava rezervacijske aplikacije z vašo domeno
Lastnik ste domene vasisalon.com. Vaša trenutna spletna stran in e-pošta Google Workspace jo že uporabljata. Zgradili ste aplikacijo za rezervacije in jo želite na book.vasisalon.com.
- Poiščite, kje je upravljan vaš DNS. Lahko je pri vašem registrarju ali pri ločenem ponudniku DNS. Zapisi NS vam to povedo.
- Dodajte CNAME za
book, ki kaže na cilj, ki vam ga da gostitelj vaše aplikacije. - Dodajte morebiten zapis TXT, ki ga gostitelj zahteva za dokaz lastništva, če ga uporablja.
- Zapisov MX in TXT za e-pošto ne spreminjajte. E-pošta bo delovala, ker se je niste dotaknili.
- Preverite pri gostitelju, ko se DNS posodobi. Gostitelj nato izda certifikat HTTPS za
book.vasisalon.com. - Preizkusite na telefonu z mobilnim omrežjem, ki uporablja drugačen resolver in predpomnilnik kot vaše domače Wi-Fi omrežje.
Če bi želeli aplikacijo na korenski domeni vasisalon.com, bi potrebovali zapise A ali funkcijo ALIAS/flattening vašega ponudnika DNS — in s tem bi zamenjali obstoječo spletno stran. Za več korakov glejte kako povezati lastno domeno.
Pogoste napake in zablode
- »Domena in gostovanje sta isto.« Domena je ime; gostovanje je mesto, kjer aplikacija teče. DNS ju povezuje.
- Uporaba zapisa A, ko je gostitelj zahteval CNAME (ali obratno). Natančno sledite navodilom gostitelja.
- Tipkarske napake v cilju. En napačen znak v cilju CNAME in preverjanje ne uspe.
- Preklop imenskih strežnikov brez prenosa zapisov. Premik DNS k novemu ponudniku brez ponovne ustvaritve zapisov MX in TXT je klasičen način, kako pokvariti e-pošto.
- Posredovanje prometa, kadar ne bi smeli. Nekateri ponudniki DNS, na primer Cloudflare, lahko posredujejo promet. Nekateri gostitelji zahtevajo, da je zapis nastavljen na »samo DNS«, da lahko izdajo certifikate.
- Brisanje »neznanih« zapisov TXT. Pogosto gre za zapise za preverjanje ali varnost e-pošte, od katerih je kaj odvisno.
- Dopustiti, da domena poteče. Vklopite samodejno obnovitev in imejte plačilno kartico posodobljeno.
Kaj vprašati svojega graditelja z umetno inteligenco
DNS živi zunaj vaše kode, zato gre bolj za to, o čem vprašati:
- »Kateri točen zapis DNS potrebujem za app.mojadomena.com — vrsta, ime in vrednost?«
- »Ali bo ta sprememba vplivala na mojo e-pošto?«
- »Domena po dodajanju zapisa kaže napako. Kaj naj preverim?«
- »Dodajte pravilen kanonični URL in preusmeritve, da se www in brez www ne prikazujeta obe kot stran.«
- »Nastavite pošiljanje e-pošte z moje domene — katere zapise SPF, DKIM in DMARC bom potreboval?« Oglejte si kako pošiljati e-pošto iz svoje aplikacije.
Lastne domene v Mythexu
Vsaka objavljena aplikacija Mythex dobi naslov vaseime.mythex.app. Pri paketu Pro lahko namesto tega uporabite svojo domeno: kupite jo znotraj Mythexa (registracija se zaračuna posebej, DNS za kupljene domene pa upravljamo za vas) ali povežete domeno, ki jo že imate, tako da dodate CNAME od poddomene, kot je app.example.com, do naslova vaseime.mythex.app vaše aplikacije, nato kliknete Preveri. HTTPS se izda samodejno. Če je vaš DNS na Cloudflare, nastavite ta zapis na »samo DNS«. Priporočene so poddomene; korenske domene so odvisne od podpore ALIAS ali flattening pri vašem ponudniku DNS. Dokumentacija o lastnih domenah vodi skozi vsak korak, cene pa pokažejo, kaj vsebuje paket Pro.
Vprašanja
Kaj je DNS preprosto povedano?
DNS (sistem domenskih imen) je imenik interneta. Ime, ki si ga ljudje lahko zapomnijo, kot je example.com, prevede v podatke, ki jih računalniki potrebujejo — običajno v naslov IP —, da brskalnik najde pravi strežnik.
Kakšna je razlika med zapisom A in CNAME?
Zapis A ime neposredno usmeri na naslov IPv4. CNAME ime usmeri na drugo ime gostitelja, iskanje pa se od tam nadaljuje. CNAME je priročen, kadar se lahko naslovi IP vašega gostitelja spremenijo, vendar standardni CNAME ne more biti uporabljen na korenski domeni.
Koliko časa traja širjenje sprememb DNS?
Pogosto minute, včasih ure. Spremembe se pokažejo, ko predpomnjene kopije starega zapisa potečejo, to pa je odvisno od TTL zapisa. Sprememba imenskih strežnikov lahko traja tudi en ali dva dneva, ker so ti zapisi dlje časa v predpomnilniku.
Ali bo sprememba DNS za mojo spletno stran pokvarila e-pošto?
Samo če spremenite ali izbrišete zapise, na katere se e-pošta opira — zapise MX in TXT, kot so SPF, DKIM in DMARC. Dodajanje CNAME za www ali app e-pošte ne spremeni. Premik domene na nove imenske strežnike lahko pokvari e-pošto, če teh zapisov najprej ne prenesete.
Zakaj uporabiti www ali app namesto korenske domene?
Poddomena, kot sta www.example.com ali app.example.com, lahko uporablja CNAME, kar zahtevajo številne gostiteljske platforme. Korenska domena (example.com) ne more imeti standardnega CNAME, zato potrebuje zapise A ali ponudnikovo funkcijo ALIAS, ANAME ali CNAME-flattening.