Chyby proxy timeout: pripojenie zamrzne a potom to vzdá
Updated:
Timeout je frustrujúcejší než iné chyby, pretože nič neprezradí: žiadne odmietnutie, žiadna výzva na zadanie hesla, iba ticho, kým to váš softvér nevzdá. Zvyčajne vaše pakety niekam odídu a zmiznú, alebo proxy spojenie prijme, no neodpovie včas. Cieľom je zistiť, v ktorom kroku k tomuto tichu dochádza.
Tri výstupy timeoutu, ktoré sme namerali
Nastavili sme testovaciu proxy, ktorá prijíma TCP spojenia a nikdy neodpovedá, a potom sme spustili rovnakú požiadavku s dvoma typmi časového limitu (adresa prepísaná na 203.0.113.10:8080, user123:pass456):
curl --connect-timeout 10 -x http://user123:[email protected]:8080 https://example.comvráticurl: (28) Proxy CONNECT aborted due to timeout. Tento limit pokrýva iba fázu pripájania.- Použitie parametra
-m 10(limit na celý prenos) namiesto toho vráticurl: (28) Connection timed out after 10002 milliseconds. - Chromium nasmerované na rovnakú proxy hlási
ERR_TIMED_OUT; proxy checker hlásitimeout.
Príčiny, od najpravdepodobnejších
- Vaša sieť potichu blokuje port proxy. Kancelárske, hotelové či univerzitné Wi-Fi siete často pakety smerujúce na nezvyčajné porty zahadzujú namiesto ich odmietnutia, takže čakáte donekonečna.
- Timeout vo vašom kóde je príliš krátky. Proxy vo vzdialenej krajine potrebuje na nadviazanie spojenia (handshake) o niečo viac času; limit 2–3 sekundy môže prerušiť aj úplne funkčnú proxy.
- Proxy alebo cieľový server je preťažený. Proxy síce spojenie prijme, ale čaká na webovú stránku, pričom vám vyprší časový limit skôr.
- Nesprávna IP adresa. Preklep, ktorý vás nasmeruje na neodpovedajúcu adresu, spôsobí ticho namiesto okamžitého odmietnutia.
Riešenia podľa prostredia
- Windows/Chrome: vyskúšajte rovnakú proxy cez mobilné dáta v telefóne. Ak timeout zmizne, problémom je blokovanie pôvodnou sieťou; prečítajte si kontrolu proxy a firewallu.
- Antidetect prehliadače: tlačidlo na kontrolu proxy má zvyčajne pevne nastavené čakanie. Skúste to znova niekoľkokrát, a ak zlyhávajú iba niektoré profily, porovnajte ich konfiguráciu proxy s fungujúcim profilom.
- Telegram: stav, keď po zapnutí proxy aplikácia uviazne na pripájaní, býva často tiež timeout; pred úpravou nastavení v Telegrame otestujte proxy v checkeri.
- Python requests: zadajte
timeout=(10, 30), čo znamená 10 sekúnd na pripojenie a 30 sekúnd na čítanie. Zachytávajterequests.exceptions.ConnectTimeoutarequests.exceptions.ReadTimeoutoddelene, aby ste zistili, kde spojenie zamŕza, a radšej pridajte niekoľko opakovaní s odstupom než neobmedzený timeout. - curl: použite
--connect-timeoutna meranie samotnej fázy pripojenia a-mna obmedzenie trvania celého príkazu.
Timeout alebo iba pomalé pripojenie?
Pomalá proxy stále odpovedá, len s oneskorením. Test rýchlosti proxy zobrazuje reálne časy odozvy; ak sa blížia k timeoutu vo vašom softvéri, zvýšte limit alebo zvoľte proxy v krajine bližšie k cieľu. Ak opakované testy nikdy nezískajú odpoveď, ide o skutočný timeout a ďalším krokom je odoslanie tiketu s výsledkom z checkera.
Krok za krokom
- 1
Potvrďte timeout pomocou checkera
Vložte riadok s proxy do proxy checkera. Výsledok
timeoutznamená, že v stanovenom limite neprišla žiadna odpoveď. - 2
Zmeňte sieť na zúženie príčiny
Skúste to znova cez mobilné dáta. Ak to funguje, problémom je pôvodná sieť alebo jej firewall.
- 3
Zmerajte čas odozvy
Spustite test rýchlosti proxy, aby ste zistili, či je proxy pomalá alebo vôbec neodpovedá.
- 4
Upravte timeouty a opakovania vo svojom softvéri
Zvýšte limit na pripojenie na približne 10 sekúnd, pridajte opakovania a úlohu spustite znova.
Často kladené otázky
Znamená proxy timeout, že je proxy nefunkčná?
Nemusí to tak byť. Mnohé timeouty vznikajú tým, že používateľova sieť blokuje daný port. Skôr než urobíte záver, otestujte spojenie z inej siete.
Aký timeout by som mal nastaviť pre proxy v kóde?
Rozumným východiskovým bodom je približne 10 sekúnd na pripojenie a 30 sekúnd na čítanie. Vzdialené proxy alebo dátovo náročné stránky môžu vyžadovať viac.
Prečo dochádza k timeoutu cez proxy iba pri niektorých webových stránkach?
V takom prípade proxy funguje a cieľový server je pomalý alebo blokuje prístup. Ak web namiesto ticha vráti chybu 502, pozrite si 502 Bad Gateway.
Aký je rozdiel medzi timeoutom a odmietnutým spojením?
Odmietnutie sa vráti okamžite; pri timeoute sa čaká až do vypršania limitu. Pozrite si proxy server odmieta spojenia.
Vyberte si proxy blízko vášho trhu
VinaProxy ponúka IP adresy vo Vietname, USA, Japonsku, Južnej Kórei, Singapure, Spojenom kráľovstve a Hongkongu, takže môžete zostať blízko svojho cieľa.
Zobraziť cenník