Přejít na hlavní obsah

Návody / Opravte to: návody na chyby, se kterými se lidé skutečně setkávají

ERR_CONNECTION_TIMED_OUT: proč nastává a jak to opravit

ERR_CONNECTION_TIMED_OUT znamená, že prohlížeč na svůj pokus o spojení v rámci časového limitu nedostal vůbec žádnou odpověď, na rozdíl od odmítnutého spojení, které dostane rychlé, jasné odmítnutí. Něco mezi klientem a serverem požadavek potichu zahazuje.

Co znamená ERR_CONNECTION_TIMED_OUT

Když prohlížeč otevírá spojení, pošle paket SYN a čeká na odpověď SYN-ACK. Timeout znamená, že nedorazila vůbec žádná odpověď, ani přijetí, ani odmítnutí, než to klient vzdal. Právě tohle ticho je klíčový rozdíl oproti odmítnutému spojení: odmítnutí je rychlé, jednoznačné ne od cílového počítače, zatímco timeout znamená, že se paket možná k ničemu, co by mohlo odpovědět, vůbec nedostal. Chrome obvykle čeká přibližně 30 sekund, než to vzdá a zobrazí chybu.

Operační systém obvykle SYN pár krát zopakuje, než to vzdá, a pokusy rozprostře po celém čekacím okně, místo aby poslal jeden požadavek a potichu čekal. Toto opakování je jeden z důvodů, proč se timeout projeví znatelně později než odmítnutí: klient to dál zkouší pro případ, že se první pokus ztratil při běžné ztrátě paketů, a chybu nahlásí, až i každé opakování zůstane bez odpovědi.

Jak se chyba projevuje

Chrome zobrazí "This site can't be reached ... ERR_CONNECTION_TIMED_OUT" až po celém čekání, což je nejjasnější vizuální znak, který ho odlišuje od rychlého selhání. Z příkazové řádky:

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 přepínače --max-time použije curl výchozí hodnotu systému, která může trvat výrazně déle než minutu; explicitní nastavení tohoto přepínače udrží diagnostiku rychlou.

Co způsobuje ERR_CONNECTION_TIMED_OUT

  • Hostitel je nedostupný. Server, který je vypnutý, zaseknutý, nebo nedostupný na síťové úrovni, nemůže odpovědět na žádný paket, ani na reset.
  • Firewall paket potichu zahazuje. Pravidlo DROP zahodí SYN, aniž by cokoli poslalo zpátky, což je běžný bezpečnostní přístup u portů, které by neměly být dostupné z internetu.
  • DNS se přeloží na špatnou nebo zastaralou IP adresu. Prohlížeč se připojí ke skutečné, dostupné adrese, jen na ní nic ve skutečnosti neposlouchá.
  • Někde na cestě existuje problém se směrováním. Špatně nastavená trasa, rozbité peeringové spojení, nebo výpadek na úrovni poskytovatele internetu mohou pakety uvěznit dřív, než se vůbec dostanou k cílové síti.
  • Server je přetížený a nedokáže přijímat nová spojení. Plná fronta spojení nebo vyčerpaný pool workerů nechá příchozí pakety SYN bez odpovědi, i když samotný počítač běží.

Odmítnuto, resetováno, nebo vypršel časový limit

ChybaCo se staneTypická příčina
ERR_CONNECTION_REFUSEDRychlé, jednoznačné odmítnutí (RST)Na portu nikdo neposlouchá, nebo pravidlo firewallu REJECT
ERR_CONNECTION_RESETSpojení fungovalo, pak bylo přerušenoFirewall, pád, nebo zásah proxy uprostřed spojení
ERR_CONNECTION_TIMED_OUTVůbec žádná odpověď, celé čekání předtím, než se to vzdáNedostupný hostitel, pravidlo firewallu DROP, směrování, nebo špatná IP

Jak zjistit, čí je to chyba

Zkuste stejnou adresu z jiné sítě, například z mobilních dat. Pokud se tam připojí, problém je lokální: váš router, poskytovatel internetu, nebo firewall na vaší vlastní síti. Pokud časový limit vyprší všude, příčinou je server nebo síťový segment poblíž něj. Spuštění port kontroly z několika míst najednou to potvrdí jedním krokem a ukáže, jestli je timeout konzistentní napříč regiony, nebo omezený na jednu cestu.

Jak opravit ERR_CONNECTION_TIMED_OUT

Pokud jste návštěvník

  1. Zkuste jinou síť, například mobilní data, abyste vyloučili problém s lokálním routerem nebo trasou poskytovatele internetu.
  2. Restartujte router, abyste vymazali zaseknutý záznam směrování nebo cache DNS.
  3. Vymažte lokální cache DNS pro případ, že drží zastaralou, nedostupnou IP adresu pro danou doménu.
  4. Dočasně vypněte VPN, pokud je aktivní; nedostupný může být přímo výstupní uzel VPN.

Pokud web provozujete

  1. Ověřte, že hostitel skutečně běží a je dostupný zvenčí vlastní sítě, ne jen z lokálního shellu na stejném počítači.
  2. Zkontrolujte cloudové bezpečnostní skupiny a pravidla firewallu kvůli pravidlu DROP na daném portu; pravidlo, které potichu zahazuje provoz, je snadné přehlédnout, protože ve výchozím stavu nevytváří žádný záznam v logu.
  3. Vysledujte cestu, abyste potvrdili, kde se pakety zastaví:
    traceroute example.com
    mtr example.com
    Trasování, které se čistě zastaví na vašem vlastním hraničním routeru, ukazuje spíš na lokální firewall nebo firewall cloudového poskytovatele než na širší internet.
  4. Ověřte, že služba poslouchá na 0.0.0.0, ne jen na 127.0.0.1. Služba navázaná jen na loopback adresu je pro cokoli mimo počítač neviditelná, což zvenčí vypadá úplně stejně jako zahození firewallem.
  5. Zkontrolujte vyčerpání fronty spojení pod zátěží; plná fronta čekajících spojení může nechat nové pakety SYN bez odpovědi, i když existující spojení fungují normálně.

Jak předejít ERR_CONNECTION_TIMED_OUT

Tiché zahození na serveru nevyprodukuje žádný chybový log, protože žádný požadavek k zaznamenání vůbec nedorazil, což tenhle způsob selhání bez aktivních kontrol dělá snadno přehlédnutelným. Pravidelný monitoring portů a HTTP zvenčí sítě zachytí nedostupného hostitele nebo potichu zahazovaný port ve chvíli, kdy začne, a upozorní e-mailem, SMS, hlasovým hovorem, přes Slack, Telegram a další dřív, než to nahlásí sami návštěvníci.

Související chyby

Často kladené otázky

Jak dlouho Chrome čeká, než zobrazí ERR_CONNECTION_TIMED_OUT?

Přibližně 30 sekund, i když se přesné číslo může lišit podle platformy a stavu sítě. Konzistentně rychlé selhání výrazně pod touhle dobou je spíš odmítnuté spojení než timeout.

Proč se web načte na mém telefonu, ale na notebooku vyprší časový limit?

Tohle obvykle ukazuje na něco specifického pro síťovou cestu notebooku: firemní firewall, klienta VPN, nebo lokálně cachovaný záznam DNS mířící na nedostupnou adresu.

Může problém s DNS způsobit ERR_CONNECTION_TIMED_OUT místo chyby DNS?

Ano, pokud se DNS úspěšně přeloží, ale vrátí IP adresu, na které nic není dostupné, například starý server, který byl mezitím vyřazen. Vyhledání uspěje, ale pokus o spojení na tuhle adresu pak časově vyprší.

Je ERR_CONNECTION_TIMED_OUT stejné v každém prohlížeči?

Základní příčina je stejná, ale znění se liší: Firefox zobrazí "The connection has timed out" a Safari po podobném čekání zobrazí "This webpage is unable to load".

Znamená timeout vždy, že je server nedostupný?

Ne. Znamená, že na pokus o spojení nic neodpovědělo, což může taky znamenat, že ho potichu zahodil firewall, že je někde uprostřed rozbitá trasa, nebo že DNS míří na špatnou adresu, zatímco skutečný server je v pořádku.

Proč stejnému webu u mě vyprší časový limit, ale kolegovi na stejné firemní síti se načte?

Zkontrolujte klienta VPN nastaveného jen na jednom zařízení, lokálně cachovaný záznam DNS, nebo nastavení proxy na úrovni prohlížeče, které má nakonfigurované jen váš počítač; problém sdílené sítě obvykle postihne každého na ní stejně, takže rozdíl mezi dvěma zařízeními na stejné síti ukazuje na něco specifického pro jedno z nich.

Zkontrolovat hned

Spusťte bezplatnou kontrolu na svém webu - bez registrace.

Port check

Sledovat trvale

Dostanete upozornění ve chvíli, kdy něco přestane fungovat: HostTracker kontroluje z více než 300 lokalit a upozorní vás e-mailem, SMS, přes Slack, Telegram a další.

Funkce HostTracker

Více v této sekci: Opravte to: návody na chyby, se kterými se lidé skutečně setkávají