curl-i puhverserveri ajalõpud: leia ebaõnnestunud samm
Erista puhverserveriühendust, tunneli läbirääkimist, TLS-i ja seiskunud vastust, et curl-i ajalimiidid aitaksid viga leida.
Leia curl-i üksikasjalikust väljundist viimane lõpetatud toiming. „Puhverserveriga ühendatud, kuid CONNECT-vastus puudub” piiritleb probleemi palju paremini kui „puhverserveri ajalõpp”.
Kasuta ajaliselt piiratud päringut ja asenda kohalik näide oma HTTP-puhverserveriga; HTTP-puhverserverite loendist leiab võrdluseks teisi lõpp-punkte:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/--connect-timeout 5 annab ühenduse loomisele ühe ühise ajavaru koos asjakohaste päringute ja kätlustega; iga etapp ei saa viit sekundit. --max-time 15 piirab kogu toimingut, sealhulgas loomisele järgnevat edastusaega.
| Kus edenemine peatub | Mida järgmisena uurida |
|---|---|
| Puhverserveriga ei teki ühendust | Puhverserveri nime lahendamine, kuulamisport, marsruutimine ja tulemüürireeglid. |
| Puhverserver ühendatud; tunneli vastus puudub | Puhverserveri koormus, autentimise läbirääkimine, juurdepääsureeglid ja sihtkoha kättesaadavus puhverserverist. |
| Tunnel vastu võetud; TLS pooleli | Sihtkoha kättesaadavus, TLS-i läbirääkimine ja hallatud liikluse pealtkuulamine. |
| Sihtkoha päised saabuvad; sisu seiskub | Algserveri edastuskäitumine, vahendajate puhverdamine ja rakenduse võimalik tahtlik vaikus. |
Kätluste järjekorda selgitab kuidas CONNECT kannab HTTPS-i. Peatumine ühenduse ajavaru lõpus viitab loomisele; hilisem peatumine kogulimiidil viitab lõpetamata edastusele. Vaata aega koos toimingute järjestusega: ainult aeg ei tuvasta komponenti. Logitekst erineb curl-i järkude vahel ning avatud TCP-port ei tõenda CONNECT-i toimimist.
Hoia üks pool muutumatuna
Võrdle sama sihtkohta lubatud otseühenduse kaudu:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Seejärel võrdle sama puhverserveri kaudu teist ohutut sihtkohta. Kui ebaõnnestub ainult üks sihtkoht, uuri selle marsruuti või juurdepääsureegleid. Kui kõik peatuvad samas ühenduse loomise etapis, uuri ühist puhverserveriteed. Salvesta algusaeg, lõpp-punkt, sihtkoht ja viimane lõpetatud etapp; eemalda enne logide jagamist sisselogimisandmed, tokenid, küpsised ja privaatsed nimed.
Kui ühendus jääb avatuks ilma kasuliku edenemiseta
Failiedastus võib vajada lisaks ühenduse loomise ja kogupiirangule ka väikese kiiruse piiri:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 60 --speed-limit 100 --speed-time 20 https://example.com/See katkestab, kui püsiv edastuskiirus jääb 20 sekundiks alla 100 baidi sekundis, säilitades kogupiirangu 60 sekundit. Vali väärtused töökoormuse järgi. Sündmuste voog võib ka pika vaikuse ajal korras olla, mistõttu allalaadimisreegel võib selle ekslikult katkestada.
Kõigi limiitide suurendamine lükkab sümptomi edasi. Kohesed korduskatsed võivad ülekoormatud teele ühendusi lisada. Diagnoosi mõne läbimõeldud võrdlusega; rakenduse hilisem korduskatsete poliitika vajab oma koguajavaru ning hinnangut, kas toimingu kordamine on ohutu.