ERR_CONNECTION_TIMED_OUT: dlaczego się zdarza i jak naprawić
ERR_CONNECTION_TIMED_OUT oznacza, że przeglądarka nie otrzymała żadnej odpowiedzi na próbę połączenia w oknie czasowym timeoutu, w przeciwieństwie do odrzuconego połączenia, które dostaje szybką, jednoznaczną odmowę. Coś między klientem a serwerem po cichu porzuca żądanie.
Co oznacza ERR_CONNECTION_TIMED_OUT
Gdy przeglądarka otwiera połączenie, wysyła pakiet SYN i czeka na SYN-ACK w odpowiedzi. Timeout oznacza, że żadna odpowiedź w ogóle nie nadeszła, ani akceptacja, ani odmowa, zanim klient się poddał. Ta cisza to kluczowa różnica względem odrzuconego połączenia: odmowa to szybkie, definitywne "nie" od maszyny docelowej, podczas gdy timeout oznacza, że pakiet mógł nigdy nie dotrzeć do niczego, co mogłoby na niego odpowiedzieć. Chrome zwykle czeka około 30 sekund, zanim się podda i pokaże błąd.
System operacyjny zwykle ponawia SYN kilka razy, zanim się podda, rozkładając próby w oknie oczekiwania zamiast wysyłać jedno żądanie i czekać w milczeniu. To zachowanie ponawiania częściowo tłumaczy, dlaczego timeout ujawnia się zauważalnie dłużej niż odmowa: klient wciąż próbuje na wypadek, gdyby pierwsza próba zginęła w zwykłej utracie pakietów, i zgłasza błąd dopiero, gdy każda ponowna próba też pozostanie bez odpowiedzi.
Jak pojawia się błąd
Chrome pokazuje "This site can't be reached ... ERR_CONNECTION_TIMED_OUT" dopiero po pełnym czasie oczekiwania, co jest najwyraźniejszym wizualnym sygnałem odróżniającym go od szybkiej awarii. Z linii poleceń:
curl -v --max-time 10 https://example.com/
* Trying 203.0.113.10:443...
* Connection timed out after 10001 milliseconds
curl: (28) Connection timed out after 10001 milliseconds
Bez flagi --max-time curl używa domyślnej wartości systemowej, która może trwać wyraźnie ponad minutę; ustawienie flagi jawnie utrzymuje diagnostykę w szybkim tempie.
Co powoduje ERR_CONNECTION_TIMED_OUT
- Host nie działa. Serwer wyłączony, zawieszony albo nieosiągalny na poziomie sieci nie może odpowiedzieć na żaden pakiet, w tym na reset.
- Zapora po cichu porzuca pakiet. Reguła DROP odrzuca SYN bez odsyłania czegokolwiek, co jest częstą postawą bezpieczeństwa dla portów, które nie powinny być osiągalne z internetu.
- DNS rozwiązuje się do złego albo nieaktualnego adresu IP. Przeglądarka łączy się z prawdziwym, osiągalnym adresem, tylko nie takim, na którym cokolwiek faktycznie nasłuchuje.
- Gdzieś na trasie istnieje problem z trasowaniem. Źle skonfigurowana trasa, zerwane łącze peeringowe albo awaria na poziomie dostawcy internetu mogą uwięzić pakiety, zanim w ogóle dotrą do sieci docelowej.
- Serwer jest przeciążony i nie może przyjąć nowych połączeń. Pełna kolejka połączeń albo wyczerpana pula workerów zostawia przychodzące pakiety SYN bez odpowiedzi, mimo że sama maszyna działa.
Odrzucone, zresetowane albo timeout
| Błąd | Co się dzieje | Typowa przyczyna |
|---|---|---|
| ERR_CONNECTION_REFUSED | Szybka, jednoznaczna odmowa (RST) | Nic nie nasłuchuje na porcie, albo reguła zapory REJECT |
| ERR_CONNECTION_RESET | Połączenie działało, a potem zostało zerwane | Zapora, awaria albo ingerencja proxy w trakcie połączenia |
| ERR_CONNECTION_TIMED_OUT | Brak jakiejkolwiek odpowiedzi, pełne oczekiwanie przed poddaniem się | Host wyłączony, reguła zapory DROP, trasowanie albo zły adres IP |
Jak rozpoznać, kto zawinił
Spróbuj tego samego adresu z innej sieci, na przykład danych mobilnych. Jeśli tam się łączy, problem jest lokalny: Twój router, dostawca internetu albo zapora w Twojej własnej sieci. Jeśli wszędzie kończy się timeoutem, przyczyną jest serwer albo segment sieci blisko niego. Uruchomienie kontroli portu z kilku lokalizacji naraz potwierdza to w jednym kroku i pokazuje, czy timeout jest spójny w regionach, czy ograniczony do jednej ścieżki.
Jak naprawić ERR_CONNECTION_TIMED_OUT
Jeśli jesteś odwiedzającym
- Wypróbuj inną sieć, na przykład dane mobilne, żeby wykluczyć problem z lokalnym routerem albo trasą dostawcy internetu.
- Zrestartuj router, żeby wyczyścić zawieszony wpis trasowania albo cache DNS.
- Wyczyść lokalny cache DNS na wypadek, gdyby przechowywał nieaktualny, nieosiągalny adres IP dla domeny.
- Wyłącz tymczasowo VPN, jeśli jest aktywny; własny węzeł wyjściowy VPN może być tym, co jest nieosiągalne.
Jeśli prowadzisz witrynę
- Potwierdź, że host faktycznie działa i jest osiągalny spoza własnej sieci, nie tylko z lokalnej powłoki na tej samej maszynie.
- Sprawdź grupy bezpieczeństwa w chmurze i reguły zapory pod kątem reguły DROP na danym porcie; regułę, która po cichu odrzuca ruch, łatwo przeoczyć, bo domyślnie nie produkuje żadnego wpisu w logu.
- Prześledź trasę, żeby potwierdzić, gdzie pakiety się zatrzymują:
Trasa, która czysto zatrzymuje się na Twoim własnym routerze brzegowym, wskazuje na lokalną zaporę albo zaporę dostawcy chmury, a nie na szerszy internet.traceroute example.com mtr example.com - Potwierdź, że usługa nasłuchuje na
0.0.0.0, nie tylko na127.0.0.1. Usługa przypięta wyłącznie do adresu zwrotnego jest niewidoczna dla wszystkiego spoza maszyny, co z zewnątrz wygląda identycznie jak porzucenie przez zaporę. - Sprawdź wyczerpanie kolejki połączeń pod obciążeniem; pełna kolejka backlogu może zostawić nowe pakiety SYN bez odpowiedzi, mimo że istniejące połączenia działają normalnie.
Jak zapobiec ERR_CONNECTION_TIMED_OUT
Ciche porzucenie nie produkuje żadnego logu błędu na serwerze, bo nic nigdy nie otrzymało żądania, żeby je zalogować, co sprawia, że ten typ awarii łatwo przeoczyć bez aktywnych kontroli. Regularne monitorowanie portu i HTTP spoza sieci wyłapuje nieosiągalny host albo po cichu porzucony port w chwili, gdy się zaczyna, i alarmuje e-mailem, SMS-em, połączeniem głosowym, przez Slack, Telegram i inne kanały, zanim zgłoszą go sami odwiedzający.
Powiązane błędy
- ERR_CONNECTION_REFUSED to szybka, jednoznaczna odmowa, a nie cisza.
- ERR_ADDRESS_UNREACHABLE oznacza, że w ogóle nie ma trasy do adresu, a nie brak odpowiedzi na ważnej trasie.
- This site can't be reached obejmuje cały zestaw błędów połączenia, które Chrome grupuje pod jednym nagłówkiem.
Najczęściej zadawane pytania
Jak długo Chrome czeka, zanim pokaże ERR_CONNECTION_TIMED_OUT?
Około 30 sekund, choć dokładna wartość może się różnić w zależności od platformy i warunków sieciowych. Konsekwentnie szybka awaria wyraźnie poniżej tego czasu to bardziej prawdopodobnie odrzucone połączenie niż timeout.
Dlaczego witryna ładuje się na telefonie, a na laptopie kończy timeoutem?
Zwykle wskazuje to na coś specyficznego dla ścieżki sieciowej laptopa: firmową zaporę, klienta VPN albo lokalnie zapisany wpis DNS wskazujący na nieosiągalny adres.
Czy problem z DNS może spowodować ERR_CONNECTION_TIMED_OUT zamiast błędu DNS?
Tak, jeśli DNS rozwiązuje się poprawnie, ale zwraca adres IP, przy którym nic nie jest osiągalne, na przykład stary serwer, który od tamtej pory został wycofany. Wyszukanie się udaje, ale próba połączenia z tym adresem potem kończy się timeoutem.
Czy ERR_CONNECTION_TIMED_OUT jest taki sam w każdej przeglądarce?
Przyczyna leżąca u podstaw jest taka sama, ale brzmienie się różni: Firefox pokazuje "The connection has timed out", a Safari po podobnym czasie oczekiwania pokazuje "This webpage is unable to load".
Czy timeout zawsze oznacza, że serwer nie działa?
Nie. Oznacza, że nic nie odpowiedziało na próbę połączenia, co może też oznaczać, że zapora po cichu ją porzuciła, gdzieś po drodze jest zerwana trasa, albo DNS wskazuje na zły adres, podczas gdy prawdziwy serwer jest w porządku.
Dlaczego ta sama witryna kończy się dla mnie timeoutem, a dla współpracownika w tej samej sieci biurowej ładuje się bez problemu?
Sprawdź klienta VPN na jednym urządzeniu, lokalnie zapisany wpis DNS albo ustawienie proxy na poziomie przeglądarki, które ma tylko Twoja maszyna; problem współdzielonej sieci zwykle dotyka wszystkich w niej równo, więc różnica między dwoma urządzeniami w tej samej sieci wskazuje na coś specyficznego dla jednego z nich.