Nukopijuojate adresą iš vienos užklausos į savo maršrutizavimo taisyklę, svetainė veikia, o po savaitės nebeveikia. Taisyklėje niekas nepasikeitė. Paslauga persikėlė į kitą krašto adresą, klientas išsprendė kitą prieglobsčio vardą arba sesija persijungė į IPv6. Sprendimas prieš jus yra, ar taisyklė pagal pavadinimą, ar aiškus diapazonas yra tinkamas šios paslaugos įrankis, ir trys sąlygos tai nusprendžia. Toliau pavadinimas atskiriamas nuo adreso, nes tik vienas jų yra stabilus.

Kodėl viena užklausa nėra inventorius

Turinio pristatymo tinklas atsako adresu, parinktu rezolveriui, regionui ir momentui. Paklauskite du kartus iš skirtingų tinklų ir galite gauti skirtingus atsakymus. Paklauskite vieną kartą ir laikykite atsakymą paslaugos adresų sąrašu, tada jūsų parašyta taisyklė yra momentinė nuotrauka, o ne taisyklė. Tai ir yra visa problema, kai DNS atsakymas laikomas konfigūracija.

Yra antra spraga. Vienas matomas prieglobsčio vardas retai apima visą programą, nes prisijungimas, medija ir API srautas dažnai naudoja atskirus vardus. Taisyklė, sudaryta iš adreso juostos prieglobsčio vardo, gali apimti puslapį ir praleisti vaizdo įrašą, o tai skaitoma kaip dalinė klaida, o ne maršrutizavimo klaida.

Trečia spraga yra adresų šeima. Taisyklė tik v4 nieko nesako apie AAAA įrašą, kurį klientas gali teikti pirmenybę.

Trys sąlygos, nusprendžiančios domeno taisyklę arba diapazonus

Pirma, ar paslauga skelbia stabilų prefiksų rinkinį, kurį galite turėti ir dokumentuoti? Jei taip, aiškūs diapazonai yra sąžiningi ir pigūs. Jei ne, domeno taisyklė yra vienintelis mechanizmas, galintis sekti paslaugą.

Antra, ar jūsų kliento domeno mechanizmas atnaujinamas? Taisyklė, kuri išsprendžiama vieną kartą jungiantis ir daugiau niekada, yra momentinė nuotrauka su geresniu prekės ženklu. Trečia, ar mechanizmas apima subdomenus ir abi adresų šeimas, ar tik vardus, kuriuos įvedėte?

Atsakykite į šiuos tris, ir pasirinkimas paprastai būna akivaizdus. Spėjimas sukuria taisyklę, kuri veikia bandyme ir žlunga gamyboje.

Bandykite sesiją, o ne puslapį

Įkelkite puslapį, tada atlikite svarbų veiksmą: prisijunkite, pradėkite atkūrimą, įkelkite failą. Kiekvienas jų gali pasiekti kitą prieglobstį, o tas, kuris žlunga, yra tas, kurį jūsų taisyklė praleido.

Išvardykite, su kuo sesija iš tikrųjų susisiekia, o ne ką rodo puslapis:

dig +short example.com A
dig +short example.com AAAA
curl -sI https://example.com | head -5

Palyginimo metu laikykite rezolverį matomą, nes taisyklė, kuri veikia iš vieno rezolverio ir žlunga iš kito, pasakoja apie CDN atsakymą, o ne apie tunelį. Trumpas TTL taip pat reiškia, kad užrašytas atsakymas turi galiojimo laiką.

Ką iš tikrųjų apima kiekvienas mechanizmas

Abu mechanizmai nustatymų puslapyje atrodo pakeičiami, o viduje elgiasi skirtingai.

MechanismWhat it matchesHow it fails
Domain ruleNames the client resolves, then their addressesMisses subdomains, or goes stale when refresh is off
Address routeA prefix you wrote downKeeps matching an address the service has left

Branduolio adreso maršrutas suderina prefiksus. Jis neturi supratimo, kas yra prieglobsčio vardas, todėl negali sekti paslaugos, kuri keičia adresus. Domeno taisyklė išsprendžia vardus ir maršrutizuoja rezultatą; ji seka paslaugą, bet priklauso nuo rezolverio, atnaujinimo elgsenos ir kliento požiūrio į subdomenus, todėl taisyklė, kuri seka vardus, turi būti tikrinama su rezolveriu, kurį klientas iš tikrųjų naudoja.

Nė vienas nėra kito viršaibė, todėl jų maišymas be pastabos vėliau sukelia painiavą.

Patikrinkite iš naujo, kai paslauga pasikeičia

Po kliento atnaujinimo ar paslaugos pakeitimo dar kartą paleiskite tą patį sesijos testą. Anksčiau veikęs adresų sąrašas yra to laikotarpio įrodymas, o ne nuolatinis paslaugos infrastruktūros inventorius.

Užsirašykite, kuris mechanizmas apima kurį prieglobsčio vardą, ir paskutinio patikrinimo datą.

Ši pastaba yra skirtumas tarp taisyklės, kurią galite apginti, ir taisyklės, kurios niekas nedrįsta liesti. Jei paslauga skelbia savo prefiksų sąrašą, naudokite jį ir nurodykite datą. Jei ne, pasakykite tai, ir laikykite domeno taisyklę su jos atnaujinimo elgsena užrašyta šalia.

Susiję straipsniai