Proxy timeout -virheet: yhteys jumiutuu ja antaa periksi
Updated:
Aikakatkaisu on muita virheitä turhauttavampi, koska se ei kerro mitään: ei kieltäytymistä, ei salasanakyselyä, vain hiljaisuutta, kunnes ohjelmistosi luovuttaa. Yleensä paketit menevät jonnekin ja katoavat, tai välityspalvelin hyväksyy yhteyden muttei vastaa ajoissa. Tehtävänä on selvittää, missä vaiheessa hiljaisuus syntyy.
Kolme mittaamaamme aikakatkaisutulostetta
Määritimme testivälityspalvelimen, joka hyväksyy TCP-yhteydet muttei koskaan vastaa, ja suoritimme saman pyynnön kahdella erilaisella aikarajalla (osoitteeksi muutettu 203.0.113.10:8080, user123:pass456):
curl --connect-timeout 10 -x http://user123:[email protected]:8080 https://example.comantaa virheencurl: (28) Proxy CONNECT aborted due to timeout. Tämä aikaraja kattaa vain yhteysvaiheen.- Kun tilalle vaihdetaan
-m 10(koko tiedonsiirron kattava aikaraja), saadaancurl: (28) Connection timed out after 10002 milliseconds. - Samaan välityspalvelimeen ohjattu Chromium ilmoittaa
ERR_TIMED_OUT; välityspalvelimen tarkistustyökalu ilmoittaatimeout.
Syyt, todennäköisin ensin
- Verkkosi estää välityspalvelimen portin hiljaisesti. Toimisto-, hotelli- ja kampusverkot pudottavat usein epätavallisiin portteihin suunnatut paketit hylkäämisen sijaan, joten joudut odottamaan ikuisesti.
- Koodisi aikakatkaisu on liian lyhyt. Kaukaisessa maassa sijaitseva välityspalvelin tarvitsee hieman enemmän aikaa kättelyyn; 2–3 sekunnin raja voi katkaista täysin toimivan välityspalvelimen yhteyden.
- Välityspalvelin tai kohde on ylikuormitettu. Välityspalvelin hyväksyy yhteyden, mutta jää odottamaan verkkosivustoa, ja oma kärsivällisyytesi loppuu ensin.
- Väärä IP-osoite. Kirjoitusvirhe, joka osuu vastaamattomaan osoitteeseen, tuottaa hylkäämisen sijaan pelkkää hiljaisuutta.
Korjaukset ympäristöittäin
- Windows/Chrome: kokeile samaa välityspalvelinta puhelimesi mobiilidatayhteydellä. Jos aikakatkaisu katoaa, alkuperäinen verkko estää yhteyden; lue välityspalvelimen ja palomuurin tarkistaminen.
- Antidetect-selaimet: välityspalvelimen tarkistuspainikkeessa on yleensä kiinteä odotusaika. Yritä uudelleen muutaman kerran, ja jos vain osa profiileista epäonnistuu, vertaa niiden välityspalvelinriviä toimivaan.
- Telegram: yhteyden muodostamisen jumiutuminen välityspalvelimen käyttöönoton jälkeen on usein myös aikakatkaisu; testaa välityspalvelin tarkistustyökalussa ennen Telegramin asetusten muuttamista.
- Python requests: välitä
timeout=(10, 30), mikä tarkoittaa 10 sekuntia yhteyden muodostamiseen ja 30 sekuntia lukemiseen. Otarequests.exceptions.ConnectTimeoutjarequests.exceptions.ReadTimeoutkiinni erikseen nähdäksesi, mihin pyyntö jumiutuu, ja lisää muutama ajastettu uudelleenyritys rajattoman aikakatkaisun sijaan. - curl: käytä parametria
--connect-timeoutpelkän yhteysvaiheen mittaamiseen ja parametria-mkoko komennon keston rajoittamiseen.
Aikakatkaisu vai vain hidas?
Hidas välityspalvelin vastaa silti, vain myöhässä. Välityspalvelimen nopeustesti näyttää todelliset vasteajat; jos ne ovat lähellä ohjelmistosi aikakatkaisua, nosta aikarajaa tai valitse välityspalvelin maasta, joka on lähempänä kohdetta. Jos toistuvat testit eivät koskaan saa vastausta, kyseessä on aito aikakatkaisu, ja seuraava vaihe on tukipyynnön avaaminen tarkistustyökalun tuloksen kera.
Vaihe vaiheelta
- 1
Vahvista aikakatkaisu tarkistustyökalulla
Liitä välityspalvelinrivi välityspalvelimen tarkistustyökaluun. Tulos
timeouttarkoittaa, ettei vastausta saatu odotusajan kuluessa. - 2
Rajaa ongelmaa vaihtamalla verkkoa
Yritä uudelleen mobiilidatalla. Jos se toimii, ongelmana on alkuperäinen verkko tai sen palomuuri.
- 3
Mittaa vasteaika
Suorita välityspalvelimen nopeustesti nähdäksesi, onko välityspalvelin hidas vai täysin mykkä.
- 4
Säädä ohjelmistosi aikakatkaisuja ja uudelleenyrityksiä
Nosta yhteydenmuodostuksen aikaraja noin 10 sekuntiin, lisää uudelleenyrityksiä ja suorita tehtävä uudelleen.
Usein kysytyt kysymykset
Tarkoittaako välityspalvelimen aikakatkaisu, että välityspalvelin ei toimi?
Ei välttämättä. Monet aikakatkaisut johtuvat siitä, että käyttäjän oma verkko estää portin. Testaa toisesta verkosta ennen johtopäätösten tekemistä.
Mikä aikakatkaisu välityspalvelimille tulisi asettaa koodissa?
Noin 10 sekuntia yhdistämiseen ja 30 sekuntia lukemiseen on järkevä lähtökohta. Kaukaiset välityspalvelimet tai raskaat sivut saattavat vaatia enemmän.
Miksi vain tietyt verkkosivustot aiheuttavat aikakatkaisun välityspalvelimen kautta?
Silloin välityspalvelin toimii ja kohde on hidas tai estää liikenteen. Jos sivusto antaa koodin 502 hiljaisuuden sijaan, katso 502 Bad Gateway.
Miten aikakatkaisu eroaa yhteyden hylkäämisestä?
Hylkäysilmoitus tulee välittömästi; aikakatkaisu odottaa aikarajan täyttymiseen asti. Katso välityspalvelin hylkää yhteydet.
Valitse välityspalvelin läheltä markkina-aluettasi
VinaProxy tarjoaa IP-osoitteita Vietnamissa, Yhdysvalloissa, Japanissa, Etelä-Koreassa, Singaporessa, Isossa-Britanniassa ja Hongkongissa, jotta pysyt lähellä kohdettasi.
Katso hinnat