Můj web

Webovky se zbláznily!

Publikováno 19.1.2012

Představte si situaci, kdy provozujete webovou aplikaci běžící na více subdoménách a najednou se stane, že některé části webu začnou bláznit – občas se zobrazují dobře, občas vůbec. V tomto duchu reportuje i monitorovací systém – web je střídavě UP/DOWN. V logách na serveru žádné chyby nejsou. A do toho zavolá klient, co že se to děje a ať to dáte ASAP dokupy, jinak …

Jedná se o reálnou zkušenost autora, který řešil danou situaci spolu s kolegou adminem. V úvodu si shrňme fakta. Doména registrovaná u GoDaddy. DNS hosting zdarma tamtéž. DNS záznamy pro doménu example.com v tomto duchu:

app1 1800 IN A A.B.C.D
subapp1 1800 IN CNAME app1.example.com
subapp2 1800 IN CNAME app1.example.com

(A.B.C.D je IP adresa webového serveru.) Náš problém je ten, že se nám občas nezobrazuje například podaplikace subapp2. Prohlížeč ji nezobrazí, jelikož požadavek vytimeoutuje. Jak již bylo poznamenáno výše, v logách žádné chyby. Pokud máte štěstí a dostatečně malý provoz na webu, můžete zjistit, že požadavky z prohlížeče na server vůbec nedorazí. Takže je potřeba začít hledat problém na cestě mezi prohlížečem a serverem.

Zjistíme si nameservery, na kterých jsou uloženy naše DNS záznamy. Buď v administraci domény nebo na Linuxu příkazem:

host -t ns subapp2.example.com

A protože si to GoDaddy zaslouží (jak ještě uvidíte dále), tady je konkrétní výsledek:

  • ns33.domaincontrol.com
  • ns34.domaincontrol.com

Dále si zjistíme, co o naší subdoméně tyto nameservery říkají do světa:

host subapp2.example.com ns33.domaincontrol.com
host subapp2.example.com ns34.domaincontrol.com

V prvním případě dostaneme správnou IP adresu. Ve druhém ale chybu NOT FOUND. A jsme doma.

Teď už jen zbývá přimět registrátora co nejrychleji k nápravě. Paralelně zkoušíme znovu uložit naše DNS záznamy (co kdyby se server vzpamatoval) a kontaktovat podporu u GoDaddy. Jelikož využíváme služby DNS hosting zdarma, je jejich odezva velmi pomalá (i když oproti avizovaným 24 hodinám šlo nakonec jen asi o hodinu) a k ničemu. Ačkoliv jsme jim nahlásili co nejpřesněji chybu na jejich straně, dostalo se nám rady, ať si vyčistíme cache v prohlížeči – nic by nás v tu chvíli nemohlo víc pobavit. Začínám uvažovat o tom, jestli to není záměrná akce GoDaddy k přesvědčení nás k zakoupení placeného DNS hostingu.

Přeuložení DNS záznamů nepomohlo. Zdánlivě se vždycky jen krátce situace zlepšila, ale pak začaly problémy nanovo. Zkoušeli jsme zadat jako druhý nameserver stejný jako ten funkční, administrace to však nepovolila. Chtěli jsme ten špatný smazat, to taky nešlo. Nicméně jsme nakonec provedli ještě jeden pokus, který překvapivě vyšel! Problematické záznamy byly typu CNAME, jak si z úvodu článku jistě vzpomínáte. Přepsali jsme je na A záznamy a pak už se všechno měnilo jen k lepšímu. Trvalo ještě pár hodin, než se správné záznamy rozesely po serverech ve světě a pak už jen samé UP, UP, UP …

Poučení na závěr – v kritických aplikacích není dobré spoléhat jen na DNS hosting zdarma, který nabízí registrátor. Zadejte si svoje záznamy i na jiné name servery. Případně si tuto službu zaplaťte. Získáte tak alespoň lepší uživatelskou podporu, kde Vám nebudou radit nesmysly, ale budou Vám ku pomoci. Snad.

Komentáře

Komentáře jsou vypnuty.