curl-ի պրոքսիի ժամանակային սահմանները․ գտնել ձախողված քայլը
Տարբերակեք պրոքսիին միացումը, թունելի համաձայնեցումը, TLS-ը և կանգ առած պատասխանը՝ curl-ի սահմաններով խնդիրը գտնելու համար։
curl-ի մանրամասն ելքում գտեք վերջին ավարտված գործողությունը։ «Միացել է պրոքսիին, բայց CONNECT պատասխան չկա» ձևակերպումը խնդիրը շատ ավելի է նեղացնում, քան «պրոքսիի սպասման ժամանակն ավարտվեց»։
Օգտագործեք ժամանակով սահմանափակված հարցում՝ տեղային օրինակը փոխարինելով ձեր HTTP պրոքսիով։ HTTP պրոքսիների ցանկից կարող եք համեմատության այլ վերջնակետեր գտնել․
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/--connect-timeout 5-ը կապի հաստատմանը տալիս է մեկ ընդհանուր ժամանակային բյուջե՝ ներառելով համապատասխան որոնումներն ու ձեռքսեղմումները, ոչ թե յուրաքանչյուր փուլին հինգ վայրկյան։ --max-time 15-ը սահմանափակում է ամբողջ գործողությունը՝ ներառյալ կապը հաստատելուց հետո փոխանցման ժամանակը։
| Որտեղ է առաջընթացը կանգնում | Ինչ ստուգել հետո |
|---|---|
| Պրոքսիին միացում չկա | Պրոքսիի հոսթի անվան լուծում, լսող պորտ, երթուղավորում և հրապատի կանոններ։ |
| Պրոքսին միացված է, թունելի պատասխան չկա | Պրոքսիի բեռ, նույնականացման համաձայնեցում, հասանելիության քաղաքականություն և նպատակակետի հասանելիություն պրոքսիից։ |
| Թունելն ընդունված է, TLS-ը չի ավարտվել | Նպատակակետի հասանելիություն, TLS համաձայնեցում և կառավարվող երթևեկության որսում։ |
| Նպատակակետի վերնագրերը ստացվել են, մարմինը կանգնել է | Սկզբնաղբյուր սերվերի փոխանցման վարք, միջնորդների բուֆերացում և հավելվածի հնարավոր դիտավորյալ լռություն։ |
Ձեռքսեղմումների հերթականության համար տեսեք՝ ինչպես է CONNECT-ը տեղափոխում HTTPS-ը։ Միացման բյուջեի մոտ կանգը հուշում է կապի հաստատումը, ավելի ուշ ընդհանուր սահմանի մոտ կանգը՝ անավարտ փոխանցումը։ Հերթականությունը դիտարկեք ժամանակի հետ․ միայն ժամանակը չի որոշում բաղադրիչը։ Մատյանների ձևակերպումները տարբեր են curl-ի հավաքումներում, իսկ բաց TCP պորտը չի ապացուցում CONNECT-ի աշխատանքը։
Մի կողմը պահեք անփոփոխ
Համեմատեք նույն նպատակակետը թույլատրված ուղիղ երթուղով․
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Ապա նույն պրոքսիով համեմատեք այլ անվնաս նպատակակետ։ Եթե ձախողվում է միայն մեկը, ուսումնասիրեք դրա երթուղին կամ քաղաքականությունը։ Եթե բոլորը կանգնում են կապի հաստատման նույն քայլին, ուսումնասիրեք ընդհանուր պրոքսիի ուղին։ Պահեք մեկնարկի ժամանակը, վերջնակետը, նպատակակետը և վերջին ավարտված փուլը․ մատյանները կիսելուց առաջ հեռացրեք մուտքի տվյալները, թոքենները, քուքիները և մասնավոր անունները։
Երբ կապը բաց է մնում առանց օգտակար առաջընթացի
Ֆայլի փոխանցմանը կարող է պետք լինել ցածր արագության շեմ՝ կապի հաստատման և ընդհանուր ժամանակի սահմաններից բացի․
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 60 --speed-limit 100 --speed-time 20 https://example.com/Սա ընդհատում է գործողությունը, եթե կայուն փոխանցման արագությունը 20 վայրկյան մնում է վայրկյանում 100 բայթից ցածր՝ պահպանելով ընդհանուր 60 վայրկյան սահմանը։ Արժեքներն ընտրեք ըստ աշխատանքի։ Իրադարձությունների հոսքը կարող է առողջ լինել երկար լռության ընթացքում, ուստի ներբեռնման կանոնը կարող է այն սխալմամբ ընդհատել։
Բոլոր սահմանները բարձրացնելը հետաձգում է ախտանիշը։ Անմիջական կրկնափորձերը կարող են միացումներ ավելացնել գերբեռնված ուղուն։ Ախտորոշեք մի քանի մտածված համեմատությամբ․ հավելվածի հետագա կրկնափորձի քաղաքականությանը պետք են սեփական ընդհանուր բյուջեն և գործողության կրկնման անվտանգության գնահատումը։