Istek vremena proxyja u curlu: pronađite korak koji ne uspeva
Razdvojite vezu s proxyjem, pregovaranje tunela, TLS i zastali odgovor kako bi vremenska ograničenja curla pomogla u dijagnozi.
Pronađite poslednju završenu operaciju u detaljnom izlazu curla. „Povezan s proxyjem, ali bez CONNECT odgovora“ mnogo više sužava problem nego „istek vremena proxyja“.
Koristite zahtev s vremenskim ograničenjima i zamenite lokalni primer svojim HTTP proxyjem; na listi HTTP proxyja možete pronaći druge krajnje tačke za poređenje:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/--connect-timeout 5 daje uspostavljanju veze jedan zajednički vremenski budžet, uključujući odgovarajuće pretrage i rukovanja; ne daje pet sekundi svakoj fazi. --max-time 15 ograničava celu operaciju, uključujući prenos nakon uspostavljanja.
| Gde napredak staje | Šta zatim istražiti |
|---|---|
| Nema veze s proxyjem | Razrešavanje imena proxyja, port za osluškivanje, rutiranje i pravila zaštitnog zida. |
| Proxy povezan; bez odgovora za tunel | Opterećenje proxyja, pregovaranje autentifikacije, pravila pristupa i dostupnost odredišta iz proxyja. |
| Tunel prihvaćen; TLS nezavršen | Dostupnost odredišta, TLS pregovaranje i upravljano presretanje saobraćaja. |
| Zaglavlja odredišta stižu; telo staje | Ponašanje izvornog servera pri prenosu, baferovanje posrednika i moguća namerna tišina aplikacije. |
Za redosled rukovanja pogledajte kako CONNECT prenosi HTTPS. Zaustavljanje blizu budžeta za vezu ukazuje na uspostavljanje; kasnije zaustavljanje na ukupnom ograničenju ukazuje na nepotpun prenos. Posmatrajte redosled uz vreme — samo vreme ne određuje komponentu. Tekst dnevnika razlikuje se između izdanja curla, a otvoren TCP port ne dokazuje da CONNECT radi.
Jednu stranu ostavite nepromenjenu
Uporedite isto odredište preko dozvoljene direktne rute:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Zatim uporedite drugo bezopasno odredište kroz isti proxy. Ako samo jedno ne uspe, istražite njegovu rutu ili pravila pristupa. Ako sva staju na istom koraku uspostavljanja, istražite zajednički put kroz proxy. Sačuvajte vreme početka, krajnju tačku, odredište i poslednju završenu fazu; uklonite pristupne podatke, tokene, kolačiće i privatna imena pre deljenja dnevnika.
Kada veza ostaje otvorena bez korisnog napretka
Prenosu datoteke može trebati prag male brzine uz ograničenja uspostavljanja i ukupnog trajanja:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 60 --speed-limit 100 --speed-time 20 https://example.com/Ovo prekida operaciju ako održavana brzina prenosa ostane ispod 100 bajtova u sekundi tokom 20 sekundi, uz ukupno ograničenje od 60 sekundi. Vrednosti birajte prema opterećenju. Tok događaja može biti ispravan tokom dugih tihih perioda pa ga pravilo za preuzimanje može pogrešno prekinuti.
Povećavanje svih ograničenja odlaže simptom. Neposredni ponovljeni pokušaji mogu dodati veze preopterećenom putu. Dijagnostikujte s nekoliko promišljenih poređenja; kasnija politika ponavljanja aplikacije zahteva sopstveni ukupni budžet i procenu da li je ponavljanje operacije bezbedno.