ERR_CONNECTION_TIMED_OUT: serwer nie odpowiada na czas
· 6 min czytania
Co oznacza ten błąd
Przeglądarka znalazła adres, wysłała żądanie połączenia i czekała. Nikt nie odpowiedział: ani „tak”, ani „nie”. Po kilkudziesięciu sekundach Chrome poddaje się z komunikatem ERR_CONNECTION_TIMED_OUT („Nie można uzyskać dostępu do tej witryny”), Firefox mówi „Przekroczono limit czasu połączenia”. Różnica wobec ERR_CONNECTION_REFUSED jest ważna: tam serwer aktywnie odrzuca, tu pakiety giną w ciszy. Cisza oznacza zwykle firewall, który gubi zamiast odrzucać, wyłączoną maszynę, zerwaną trasę w sieci albo serwer tak przeciążony, że nie przyjmuje nowych połączeń.
Nazwa jest rozwiązana, więc DNS jest w porządku; to nie DNS_PROBE_FINISHED_NXDOMAIN. Problem leży w drodze do serwera albo na nim.
Częste przyczyny
Po stronie odwiedzającego
- Słabe Wi-Fi, przeciążone łącze komórkowe, router, który „wisi”.
- VPN albo proxy z zerwaną trasą do tej jednej sieci.
- Firewall albo antywirus na komputerze blokujący domenę lub port.
- Stary adres w pamięci podręcznej DNS po przeprowadzce strony: pakiety idą na serwer, którego już nie ma.
Po stronie właściciela
- Firewall gubi pakiety. Reguła
DROPdla portu 80/443 wufw,nftables,firewalldalbo w grupie zabezpieczeń dostawcy chmury. Najczęstsza przyczyna po „utwardzeniu” serwera albo zmianie dostawcy. - Serwer wyłączony albo zawieszony. Zatrzymana maszyna wirtualna, kernel panic, nieopłacona faktura u dostawcy.
- Przeciążenie. Kolejka połączeń pełna, pamięć wyczerpana, serwer swapuje; SYN dociera, ale nikt go nie obsługuje.
- Problem sieci lub routingu. Awaria u dostawcy, zły routing BGP, zerwana łączność IPv6 przy rekordzie AAAA, który wskazuje serwer bez działającego IPv6.
- Zły adres IP w DNS. Rekord A wskazuje adres, pod którym nic nie ma.
- fail2ban albo limit zapytań zbanował odwiedzającego, w tym Ciebie, po kilku nieudanych logowaniach.
Jeśli odwiedzasz cudzą stronę
- Spróbuj z telefonu bez Wi-Fi. Jeśli tam działa, winna jest Twoja sieć albo router: zrestartuj go.
- Wyłącz VPN, proxy i ochronę WWW antywirusa na chwilę.
- Wyczyść pamięć podręczną DNS (
ipconfig /flushdns,sudo dscacheutil -flushcache,sudo resolvectl flush-caches). - Sprawdź stronę narzędziem Is it down?: jeśli z zewnątrz też przekracza czas, problem jest po stronie właściciela.
Jeśli to Twoja strona: najpierw sprawdź
Wynik narzędzia Is it down? z „przekroczeniem czasu” potwierdza, że cisza jest widoczna z neutralnej lokalizacji. Następnie z własnego komputera:
dig +short przyklad.pl A
dig +short przyklad.pl AAAA
ping -c 3 203.0.113.10
traceroute -n 203.0.113.10
nc -zv -w 5 203.0.113.10 22
nc -zv -w 5 203.0.113.10 443
- Ping i SSH działają, port 443 przekracza czas: firewall na serwerze gubi ruch WWW. Krok 1 poniżej.
- Nic nie odpowiada, traceroute urywa się przed serwerem: sieć dostawcy albo wyłączona maszyna. Krok 3 i 4.
- Tylko IPv6 przekracza czas: rekord AAAA wskazuje adres bez działającego IPv6. Krok 2.
- Z jednej sieci działa, z innej nie: zbanowany adres albo problem routingu. Krok 5.
Naprawy na własnym serwerze
1. Otwórz firewall
sudo ufw status numbered
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# nftables: szukaj reguł drop dla 80/443
sudo nft list ruleset | grep -nE 'dport (80|443)|drop'
# firewalld (rodzina RHEL)
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reload
Na serwerze w chmurze sprawdź też grupę zabezpieczeń albo firewall sieciowy w panelu dostawcy: reguła tam jest niewidoczna z wnętrza systemu, a wygląda dokładnie jak przekroczenie czasu.
2. IPv6: nasłuchuj albo usuń rekord
ip -6 addr
curl -6 -I https://przyklad.pl
sudo ss -tlnp | grep ':443'
Jeśli serwer nie ma działającego IPv6, usuń rekord AAAA u dostawcy DNS. Jeśli ma, dodaj w nginx listen [::]:443 ssl; obok listen 443 ssl; i otwórz port w ip6tables/nftables.
3. Zawieszony albo wyłączony serwer
Otwórz konsolę dostawcy. Zatrzymana instancja: uruchom. Kernel panic albo „Out of memory” na ekranie: zrób zrzut, zrestartuj, a potem szukaj przyczyny w journalctl -b -1 -p err. Nieopłacona faktura: to też wygląda jak przekroczenie czasu. Pełna lista kroków: awaria serwera: co sprawdzić najpierw.
4. Przeciążenie
uptime
free -m
sudo ss -s
sudo dmesg -T | grep -iE 'oom|possible SYN flooding' | tail
„Possible SYN flooding on port 443” oznacza, że kolejka połączeń jest pełna: atak albo zbyt mało procesów roboczych. Zatrzymaj zalew (limit zapytań, blokada adresu, jak w poradniku o błędzie 503), obniż zużycie pamięci i zrestartuj przeciążoną usługę po teście jej konfiguracji.
5. Zbanowany adres i limity
sudo fail2ban-client status sshd
sudo fail2ban-client status nginx-http-auth
sudo fail2ban-client set sshd unbanip 198.51.100.7
Jeśli to Twój własny adres został zbanowany, dodaj go do ignoreip w /etc/fail2ban/jail.local. Za Cloudflare upewnij się, że banowane są prawdziwe adresy odwiedzających, nie zakresy Cloudflare; inaczej zbanujesz wszystkich naraz i dostaniesz błąd 522.
6. Zły adres IP w DNS
Porównaj dig +short przyklad.pl A z hostname -I na serwerze. Po przeprowadzce stary adres zostaje w DNS tak długo, jak TTL; poprawienie rekordu u dostawcy DNS kończy problem w ciągu kilku minut do godziny.
Gdy to problem dostawcy hostingu
Na hostingu współdzielonym firewall i sieć należą do dostawcy. Wyślij:
Dzień dobry, moja strona przyklad.pl nie odpowiada od około 08:45 UTC: połączenia na porty 80 i 443 przekraczają limit czasu, także w sprawdzeniu z zewnątrz. Domena rozwiązuje się na 203.0.113.10, po mojej stronie nic się nie zmieniło. Czy serwer na tym adresie działa, czy jest awaria sieci albo czy mój adres lub konto zostało zablokowane?
Jak zapobiec następnemu
Przekroczenie czasu z zewnątrz to pierwszy objaw wyłączonego serwera, zamkniętego portu albo przeciążenia. Monitor ping, monitor portu i sprawdzanie strony w monitoringu stron wychwytują to w ciągu minuty, a w płatnych planach potwierdzają z innej lokalizacji, żeby zakłócenie w jednej sieci nie budziło Cię niepotrzebnie. Agent serwerowy pokazuje obciążenie i pamięć, zanim serwer przestanie przyjmować połączenia. Awaria? Naprawiamy: Quick Fix restartuje zatrzymaną usługę i zwalnia pamięć w stałej cenie, Deep Fix porządkuje firewall, IPv6 i limity, przez całą dobę. Zobacz naprawa serwera. Jeśli połączenie udaje się, ale zrywa w połowie, zobacz ERR_CONNECTION_RESET.
Co teraz
Sprawdź z zewnątrz
Strona nie działa u wszystkich czy tylko u Ciebie i co odpowiada serwer? Za darmo, bez rejestracji.
Is it down? Sprawdź, czy strona działaAwaria? Naprawiamy.
Na Twoim własnym serwerze albo na hostingu z dostępem SSH: Quick Fix w stałej cenie na częste przyczyny, Deep Fix rozliczany w blokach po 15 minut na resztę, przez całą dobę. Cena przed zamówieniem.
Zamów naprawęWięcej poradników
- Strona nie działa: co zrobić w pierwszych 15 minutach
- Awaria serwera: co sprawdzić i w jakiej kolejności
- Błąd 500 Internal Server Error: znajdź przyczynę w logach i przywróć stronę
- Błąd 502 Bad Gateway: znajdź przyczynę i napraw
- Błąd 503: przeciążenie, konserwacja czy limit hostingu?
- Błąd 504 Gateway Timeout: znajdź, co spowalnia stronę
- Błąd 521 i 522 w Cloudflare: serwer źródłowy nie odpowiada
- DNS_PROBE_FINISHED_NXDOMAIN: domena przestała odpowiadać
- ERR_CONNECTION_REFUSED: serwer odrzuca połączenie
- Co oznacza „Połączenie nie jest prywatne” i jak to naprawić
- ERR_SSL_PROTOCOL_ERROR: bezpieczne połączenie zawodzi przed certyfikatem
- ERR_TOO_MANY_REDIRECTS: znajdź pętlę przekierowań i ją przerwij
- Błąd 403 Forbidden: co blokuje dostęp do Twojej strony
- ERR_NAME_NOT_RESOLVED: nie można znaleźć nazwy strony
- „Błąd podczas nawiązywania połączenia z bazą danych” w WordPressie: przyczyna i naprawa
- ERR_CONNECTION_RESET: dlaczego połączenie zrywa się w połowie
- Błąd 429 Too Many Requests: który limit blokuje odwiedzających
- ERR_EMPTY_RESPONSE: serwer nie wysłał żadnych danych
- Błąd krytyczny WordPress: znajdź przyczynę i przywróć stronę