Сайт не працює для всіх чи лише для мене?
Єдиний надійний спосіб дізнатися, чи сайт лежить для всіх, чи лише для вас, - завантажити його з мережі, що не ваша, бо в більшості моментів "сайт не працює" причина локальна: кешована відповідь DNS, VPN, розширення браузера чи ваш власний провайдер. Перевірка, запущена одночасно з кількох країн, вирішує це питання за секунди.
Чому перевірка з кількох локацій вирішує питання
Запит із вашого ноутбука проходить через кеш браузера, DNS-резолвер вашої операційної системи, ваш роутер, вашого провайдера і лише потім потрапляє на інтернет-шлях до сервера. Будь-який із цих шарів може відмовити самостійно, поки сервер цілком здоровий. Запустіть той самий запит із контрольної точки в іншій країні, і жоден із ваших локальних шарів не задіяний. Якщо там теж не спрацьовує, проблема на боці призначення. Якщо спрацьовує, проблема сидить між вами й інтернетом, і пошук звузився від усього світу до вашої власної машини й мережі.
Запуск із кількох локацій додає третю можливу відповідь, і це поширений випадок: сайт працює в одних місцях і не працює в інших. Такий патерн вказує на регіональний мережевий маршрут, edge CDN, геоблокування чи зміну DNS, що дійшла до одних резолверів і не дійшла до інших, а не на те, що сервер вимкнений.
Що зазвичай не так, коли це лише у вас
- Застарілий кеш DNS. Ваш резолвер чи операційна система досі тримає стару IP-адресу для домену, тож ви підключаєтеся до сервера, який уже переїхав.
- Ваш провайдер чи маршрут до хоста. Зламане пірингове з'єднання чи проблема маршрутизації зачіпає всіх у цього провайдера й більше нікого.
- VPN чи корпоративний проксі. Трафік виходить зовсім з іншого місця, і ця точка виходу може бути заблокована, відфільтрована чи просто повільна.
- Файл hosts. Запис, доданий місяці тому під час тестування, досі перевизначає справжній DNS, зазвичай вказуючи на машину, якої вже немає.
- Кеш браузера, service worker чи розширення. Кешована сторінка помилки, застарілий service worker чи блокувальник контенту можуть змусити робочу сторінку виглядати мертвою.
- Локальний брандмауер чи захисне ПЗ. Деякі комплекти блокують цілі категорії сайтів або порт, який потрібен сайту.
- Прострочений чи недовірений сертифікат лише на вашій машині. Неправильний системний годинник змушує будь-який дійсний сертифікат виглядати простроченим.
Як перевірити з іншої мережі
Найшвидший ручний тест взагалі не потребує інструментів. Вимкніть Wi-Fi на телефоні й відкрийте сайт через мобільний інтернет: інша мережа, інший DNS-резолвер. Якщо там завантажується, а на ноутбуці ні, несправність локальна.
З термінала запитайте заголовки напряму, а тоді запитайте публічний резолвер, яку IP-адресу він вважає доменом:
curl -I -sS --max-time 10 https://example.com/
dig +short example.com @8.8.8.8
dig +short example.com
Перший рядок каже, чи сервер узагалі відповів і з яким кодом статусу. Якщо curl повідомляє про тайм-аут з'єднання чи збій DNS, не відповів ніхто. Якщо два рядки dig не збігаються, ваш локальний резолвер тримає іншу адресу, ніж публічний, і найімовірніший винуватець - застарілий кеш. У Windows ipconfig /flushdns очищає локальний кеш; у macOS - sudo dscacheutil -flushcache; у більшості систем Linux це робить перезапуск служби резолвера.
Що означає кожен результат
- Не працює всюди. Сервер, його хостинг чи його DNS справді зламані. Погляньте на код статусу: 502 чи 503 означає, що щось відповіло, а застосунок за ним - ні, а це зовсім інше, ніж відсутність відповіді взагалі.
- Не працює лише в деяких місцях. Підозрюйте DNS, що ще не завершив оновлення всюди, edge CDN чи регіон із проблемою, або правило брандмауера, що блокує певні мережі чи країни.
- Працює всюди, але не у вас. Пройдіться по локальних причинах вище, почавши з DNS і VPN.
- Працює, але всюди повільно. Це не збій. Часто він передує справжньому збою, тож виміряйте це як слід, а не вгадуйте.
Одна деталь плутає людей. Сайт може "працювати" в сенсі, що повертає сторінку, і все одно бути зламаним для відвідувачів: перевірка, що просто шукає відповідь, зарахує сторінку з помилкою бази даних як успіх, якщо сервер повертає її з кодом 200. Дивіться на те, що саме повернулося, а не лише на те, чи повернулося щось.
Дізнатися раніше за клієнта
Разова перевірка відповідає на питання, яке у вас саме зараз, і лише тому, що ви здогадалися його поставити. Збої, що починаються о третій ранку чи зачіпають лише один регіон, зазвичай першим знаходить клієнт. Запланований моніторинг виконує ту саму перевірку безперервно з багатьох локацій і повідомляє в момент, коли результат змінюється, разом із локацією і помилкою. HostTracker виконує ці перевірки з понад 300 контрольних точок у 158 містах і сповіщає електронною поштою, SMS, голосовим дзвінком, у Slack, Telegram та інших каналах, тож регіональний збій виглядає інакше, ніж глобальний, уже в першому сповіщенні. Чекер доступності сайту покаже статус сайту просто зараз. Якщо сайт відповідає, але повільно, виміряйте це як слід: час відповіді сервера.