Czy witryna nie działa u wszystkich, czy tylko u mnie?
Jedynym pewnym sposobem sprawdzenia, czy witryna nie działa u wszystkich, czy tylko u Ciebie, jest wczytanie jej z sieci, która nie jest Twoją, bo większość chwil "witryna nie działa" ma lokalną przyczynę: zapisaną w pamięci podręcznej odpowiedź DNS, VPN, rozszerzenie przeglądarki albo Twojego dostawcę internetu. Sprawdzenie uruchomione jednocześnie z kilku krajów rozstrzyga tę kwestię w kilka sekund.
Dlaczego sprawdzenie z wielu lokalizacji to rozstrzyga
Żądanie z Twojego laptopa przechodzi przez pamięć podręczną przeglądarki, resolver DNS systemu operacyjnego, router, dostawcę internetu, i dopiero wtedy dociera do internetowej trasy do serwera. Każda z tych warstw może zawieść samodzielnie, podczas gdy serwer jest całkowicie zdrowy. Uruchom to samo żądanie z punktu kontrolnego w innym kraju, a żadna z Twoich lokalnych warstw nie bierze udziału. Jeśli tam też zawiedzie, problem jest po stronie celu. Jeśli się uda, problem leży między Tobą a internetem, a poszukiwania zawęziły się z całego świata do Twojego własnego komputera i sieci.
Uruchomienie z więcej niż jednej lokalizacji dodaje trzecią możliwą odpowiedź i jest to częsty przypadek: witryna działa w jednych miejscach, a w innych nie. Taki wzorzec wskazuje na regionalną trasę sieciową, brzeg CDN, blokadę geograficzną albo zmianę DNS, która dotarła do części resolverów, a do innych jeszcze nie, a nie na wyłączony serwer.
Co zwykle jest nie tak, gdy problem dotyczy tylko Ciebie
- Nieaktualna pamięć podręczna DNS. Twój resolver albo system operacyjny wciąż trzyma stary adres IP dla domeny, więc łączysz się z serwerem, który już się przeniósł.
- Twój dostawca internetu albo trasa do hosta. Zerwany link peeringowy albo problem z trasowaniem dotyka wszystkich u tego dostawcy i nikogo poza nim.
- VPN albo firmowe proxy. Ruch wychodzi z zupełnie innego miejsca, a ten punkt wyjścia może być zablokowany, filtrowany albo po prostu wolny.
- Plik hosts. Wpis dodany miesiące temu podczas testów wciąż nadpisuje prawdziwy DNS, zwykle wskazując na maszynę, której już tam nie ma.
- Pamięć podręczna przeglądarki, service worker albo rozszerzenie. Zapisana strona błędu, nieaktualny service worker albo blokada treści mogą sprawić, że działająca strona wygląda na martwą.
- Lokalna zapora sieciowa albo oprogramowanie zabezpieczające. Niektóre pakiety blokują całe kategorie witryn albo port, którego witryna potrzebuje.
- Wygasły albo niezaufany certyfikat tylko na Twoim komputerze. Zły zegar systemowy sprawia, że każdy ważny certyfikat wygląda na wygasły.
Jak sprawdzić z innej sieci
Najszybszy ręczny test nie wymaga żadnych narzędzi. Wyłącz Wi-Fi w telefonie i otwórz witrynę na danych komórkowych: inna sieć, inny resolver DNS. Jeśli tam się wczyta, a na laptopie nie, usterka jest lokalna.
Z poziomu terminala poproś bezpośrednio o nagłówki, a potem zapytaj publiczny resolver, jaki adres IP jego zdaniem ma domena:
curl -I -sS --max-time 10 https://example.com/
dig +short example.com @8.8.8.8
dig +short example.com
Pierwsza linia mówi, czy serwer w ogóle odpowiedział i jakim kodem statusu. Jeśli curl zgłasza przekroczenie czasu połączenia albo błąd DNS, nic nie odpowiedziało. Jeśli dwie linie dig się nie zgadzają, Twój lokalny resolver trzyma inny adres niż publiczny, a prawdopodobnym winowajcą jest nieaktualna pamięć podręczna. W Windows ipconfig /flushdns czyści lokalną pamięć podręczną; w macOS sudo dscacheutil -flushcache; w większości systemów Linux robi to restart usługi resolvera.
Co oznacza każdy wynik
- Nie działa wszędzie. Serwer, jego hosting albo jego DNS są naprawdę zepsute. Spójrz na kod statusu: 502 albo 503 oznacza, że coś odpowiedziało, a aplikacja stojąca za tym nie, co jest bardzo różne od braku jakiejkolwiek odpowiedzi.
- Nie działa tylko w niektórych miejscach. Podejrzewaj DNS, który jeszcze nie dokończył aktualizacji wszędzie, brzeg albo region CDN z problemem, albo regułę zapory blokującą określone sieci lub kraje.
- Działa wszędzie, tylko nie u Ciebie. Przejdź przez powyższe lokalne przyczyny, zaczynając od DNS i VPN.
- Działa, ale wszędzie wolno. To nie awaria. Często poprzedza awarię, więc zmierz to właściwie, zamiast zgadywać.
Jeden szczegół wprowadza w błąd. Witryna może "działać" w tym sensie, że zwraca stronę, i wciąż być zepsuta dla odwiedzających: sprawdzenie patrzące tylko na to, czy nadeszła odpowiedź, uzna stronę błędu bazy danych za sukces, jeśli serwer zwróci ją z kodem 200. Patrz na to, co wróciło, a nie tylko na to, czy cokolwiek wróciło.
Dowiedzieć się, zanim dowie się klient
Jednorazowe sprawdzenie odpowiada na pytanie, które masz właśnie teraz, i tylko dlatego, że pomyślałeś, żeby je zadać. Awarie, które zaczynają się o trzeciej nad ranem albo dotykają tylko jednego regionu, zwykle jako pierwszy znajduje klient. Zaplanowany monitoring uruchamia to samo sprawdzenie nieprzerwanie z wielu lokalizacji i informuje w chwili, gdy wynik się zmienia, wraz z lokalizacją i dołączonym błędem. HostTracker uruchamia te sprawdzenia z ponad 300 punktów kontrolnych w 158 miastach i alarmuje e-mailem, SMS-em, połączeniem głosowym, przez Slack, Telegram i inne kanały, więc awaria regionalna wygląda inaczej niż globalna już przy pierwszym alarmie. Sprawdzenie, czy witryna działa pokazuje status witryny właśnie teraz. Jeśli witryna odpowiada, ale wolno, zmierz to właściwie: czas odpowiedzi serwera.