HTTP CONNECT․ ինչպես է HTTP պրոքսին աշխատում HTTPS-ի հետ
Հետևեք HTTPS հարցմանը HTTP պրոքսիով, տարանջատեք CONNECT պատասխանը սկզբնական սերվերի պատասխանից և գտեք թունելի ձախողման փուլը։
«200 Connection Established»-ը նշանակում է, որ պրոքսին ընդունել է թունելը։ Կայքը դեռ էջ չի վերադարձրել։ Հաջորդը նպատակային սերվերի հետ TLS-ն է, իսկ հետո՝ բուն HTTPS հարցումը։
Պրոքսիին միանալուց մինչև կայքի պատասխանը
- Հաճախորդը միանում է պրոքսիի վերջնակետին։
- Պրոքսիին խնդրում է միանալ նպատակային հոսթին և պորտին։
- Պրոքսին ընդունում կամ մերժում է այդ հարցումը։
- Ընդունելուց հետո հաճախորդը թունելով նպատակային սերվերի հետ համաձայնեցնում է TLS-ը։
- Հաճախորդն ուղարկում է HTTPS հարցումը և կայքի պատասխանը ստանում TLS-ի ներսում։
Պրոքսիին միացման մերժումը, թունելի մերժումը և վկայագրի սխալը լինում են այս հաջորդականության տարբեր կետերում։ Կարգավորումները փոխելուց առաջ գտեք վերջին ավարտված քայլը։
CONNECT փոխանակումը
HTTP/1.1-ում պարզեցված փոխանակումն այսպիսին է․
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
HTTP/1.1 200 Connection Established
Հարցման թիրախը հոսթն ու պորտն են՝ առանց կայքի ուղու կամ հարցման պարամետրերի։ Հաջող CONNECT պատասխանից հետո կապը փոխանցում է թունելի բայթերը։ HTTPS նպատակակետի դեպքում հաճախորդի հաջորդ փոխանակումը TLS ձեռքսեղմումն է։
Կարդացեք թվային կարգավիճակը՝ անգլերեն բացատրական արտահայտության համընկնում փնտրելու փոխարեն։ Պրոքսիները նույն կարգավիճակի համար կարող են տարբեր տեքստեր օգտագործել։
Դիտարկում curl-ով
Տեղական 8080 պորտի HTTP պրոքսիի համար․
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Լսող հասցեն փոխարինեք ձեր վերջնակետով։ Եթե թեկնածուներ են պետք, դիտեք HTTP պրոքսիների ցանկը և փորձարկեք ընտրված գրառումը։ Շրջանցման դատարկ ցանկն ապահովում է, որ այս կանչն ընտրի պրոքսին։ Ժամանակագրական հերթականությամբ փնտրեք պրոքսիին միացումը, CONNECT պատասխանը, նպատակային վկայագրի ստուգումը և կայքի պատասխանը։ Մատյանի ճշգրիտ ձևակերպումը կախված է curl-ի կառուցվածքից։
Պրոքսիի կողմից թունելն ընդունելուց հետո նպատակային սերվերը կարող է վերադարձնել 404, 429 կամ 500։ Կարող է նաև ձախողվել TLS-ի ընթացքում՝ մինչև որևէ HTTP պատասխան վերադարձնելը։
Որտե՞ղ կանգ առավ
| Դիտարկում | Ինչ ստուգել հաջորդը |
|---|---|
| Պրոքսիին միացումը մերժվում է | Պրոքսիի հասցեն, լսող պորտը, գործընթացը և ցանցային հասանելիությունը։ |
| Պրոքսին վերադարձնում է 407 | Պրոքսիի հաշիվը և նույնականացման սխեման։ |
| Պրոքսին մերժում է նպատակակետը կամ պորտը | Հասանելիության քաղաքականությունը և թույլատրված CONNECT նպատակակետերը։ |
| Թունելը բացվում է, ապա TLS ստուգումը ձախողվում է | Նպատակային անունը, վստահության պահոցը, ժամացույցը և հնարավոր կառավարվող TLS միջամտությունը։ |
| TLS-ը հաջողվում է, իսկ կայքը սխալ է վերադարձնում | Կայքի պատասխանը։ |
Համեմատելու համար մի կողմն անփոփոխ պահեք․ նույն պրոքսիով փորձեք այլ նպատակակետ կամ նույն նպատակակետը համեմատեք թույլատրված ուղիղ երթուղով։
Թունելն էլ օպերատոր ունի
Պրոքսին գիտի CONNECT նպատակակետը և մշակում է տրաֆիկի ժամանակային բաշխումն ու ծավալը։ Սովորական ծայրից ծայր TLS-ը կայքի կիրառական բովանդակությունը պաշտպանում է այն պրոքսիից, որն այդ TLS նստաշրջանն իր մոտ չի ավարտում։ Հաճախորդի վստահությունը վայելող կառավարվող միջամտող պրոքսին ունի վստահության այլ կառուցվածք։