Ավարտեք CONNECT վերնագրերի վերլուծությունը նախքան հաճախորդի հոսքը փոխանցելը
Միայն հարցումների տողից հետո փոխանցող պրոքսի սերվերը կարող է իր Host վերնագիրը ուղարկել նպատակակետի TLS պորտին։
CONNECT հարցման տողից հետո այս բայթերը դեռ պատկանում են պրոքսիին՝
CONNECT service.example:443 HTTP/1.1\r\n
Host: service.example:443\r\n
User-Agent: example-client\r\n
\r\nHost կամ User-Agent վերնագիրը 443 պորտին փոխանցելը նպատակակետին տալիս է բաց տեքստի վերնագրեր այնտեղ, որտեղ այն սպասում է TLS։ Այդ ձախողումը կարող է տեղի ունենալ նույնիսկ մինչև գաղտնագրման ընտրությունը նշանակություն կունենա։
- Կարդացեք և վերլուծեք մինչև դատարկ տողով վերնագրերի ավարտը՝ տեղադրման ժամկետի և վերնագրի չափի սահմանի շրջանակում։
- Կիրառեք պրոքսիի նույնականացումը և նպատակակետի քաղաքականությունը։
- Հաստատեք թույլատրված թիրախային կապը։
- Ուղարկեք հաջող CONNECT պատասխանը և անցեք թունելի ռեժիմի։
Պահպանեք սահմանից հետո բուֆերացված բայթերը համապատասխան հաջորդ վիճակի համար։ Մի՛ դեն նետեք դրանք և մի՛ ընդունեք պրոքսիի հարցման վերնագրերը որպես կայքի հետագա հարցում։
Հաճախորդն ունի համապատասխան պարտավորություն պատասխանի կողմում՝ ավարտեք հաջող CONNECT պատասխանի ընթերցումը նախքան թունելացված արձանագրությունը սկսելը։ Երկու կողմերը պետք է համաձայնեն այն սահմանի շուրջ, որտեղ հոսքը փոխում է դերը։