Първо: думата „разпространение“ е подвеждаща
Никой не разпраща вашата промяна по света. Няма опашка, няма пратка, няма сървър, който бавно предава на следващия.
Това, което всъщност става: сървърите по света вече имат стар отговор, записан у тях. И го използват, докато не му изтече срокът. Вие не чакате нещо да пристигне — чакате нещо старо да бъде изхвърлено.
Затова един човек вижда новия сайт веднага, а колегата му от съседното бюро — след 6 часа. Двамата просто питат различни сървъри с различно стари отговори.
Как стига въпросът до отговор
Когато напишете firma.bg в браузъра:
- Компютърът ви проверява своя кеш. Има ли отговор — край, нищо не пита.
- Ако няма — пита DNS сървъра на доставчика ви на интернет (A1, Vivacom, Yettel, или каквото ползвате).
- Този сървър проверява своя кеш. Има ли — връща го. Тук се случва забавянето.
- Ако няма — пита по веригата нагоре: коренните сървъри → сървърите на
.bg→ сървърите, които държат вашата зона. - Отговорът се връща и всеки по пътя си го записва за определено време.
Стъпка 3 е тясното място. Кешът на доставчика ви на интернет не знае, че сте сменили нещо, и няма как да разбере. Просто чака.
TTL — числото, което решава всичко
Всеки DNS запис носи със себе си число: TTL (Time To Live), в секунди. То казва „запази ме толкова дълго“.
| TTL | В часове | Какво значи |
|---|---|---|
| 300 | 5 минути | Промяната се вижда почти веднага |
| 3600 | 1 час | Обичайна стойност. Ден работа. |
| 14400 | 4 часа | Често при по-стари конфигурации |
| 86400 | 24 часа | Ще чакате. Много. |
Хитринката, която работи: ако знаете, че ще местите сайта след три дни, свалете TTL на 300 днес. След като старият TTL изтече, целият свят вече ще пази отговорите ви само по 5 минути. Тогава правите истинската промяна и тя се вижда за минути. После вдигате TTL обратно.
Ако вече сте сменили записа — късно е. TTL, който важи, е този от стария отговор, не от новия.
Защо смяната на nameservers трае по-дълго от смяната на A record
Това са две различни неща на две различни нива.
- A record живее във вашата зона. Смените ли го, важи TTL на самия запис — обикновено час.
- Nameservers (NS) живеят в зоната на
.bgили.com, при регистъра. Там TTL е много по-дълъг — за.comрегистърът връща 48 часа.
Затова „до 24–48 часа“ се казва за смяна на nameservers, а „за минути“ — за смяна на A record. И двете са верни, просто за различни операции. Кое от двете ви е необходимо: Как да насочите домейна си.
Как да проверите докъде е стигнало
Онлайн, най-лесно: dnschecker.org — въвеждате домейна и виждате какво връщат сървъри от 20+ държави. Зелени отметки навсякъде = готово.
От вашия компютър:
nslookup firma.bg
Работи на Windows, Mac и Linux без нищо да инсталирате. На Mac и Linux по-точното е:
dig +short firma.bg
Ако искате да заобиколите кеша на доставчика си и да питате направо публичен сървър:
nslookup firma.bg 1.1.1.1
Ако този връща новото IP, а вашият браузър — не, проблемът е локален кеш, не DNS.
„При всички работи, при мен не“
Почти винаги е кеш някъде между вашия браузър и интернет. По ред на вероятност:
- Браузърът. Отворете сайта в режим „инкогнито“ или друг браузър.
- Windows. Отворете Command Prompt и напишете
ipconfig /flushdns. - Mac. В Terminal:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - Рутерът вкъщи или в офиса. Изключете го от тока за 10 секунди.
- Мобилният интернет. Пуснете сайта през мобилни данни, с изключен Wi-Fi. Ако там работи — проблемът е в мрежата ви, не в домейна.
Едно нещо, което наистина може да заседне
Има случай, при който чакането не помага: ако домейнът е бил паркиран или е сочил към несъществуващ адрес и някой сървър е кеширал отрицателния отговор. Това също изтича, но по друго правило (SOA minimum), и понякога е по-дълго от очакваното.
Ако след 48 часа още не работи, не чакайте още. Пишете ни — за 5 минути виждаме дали проблемът е в зоната, в делегирането или в кеша.
Докато чакате, сайтът не е паднал
Ако мигрирате при нас, старият сайт продължава да работи през целия този период. Който вижда старото IP — вижда стария сайт. Който вижда новото — новия. Никой не вижда грешка. Затова не пипаме стария хостинг, докато не сме сигурни, че всичко е минало.