CONNECT-ը մերժող վստահված սերվերը կարող է վերադարձնել HTTP սխալի փաստաթուղթ, որը բացատրում է իր քաղաքականությունը կամ հետագա կապի ձախողումը։ Սովորական HTTP վստահված սերվերի դեմ թույլատրված ախտորոշման համար curl-ը կարող է այդ հարցումն ուղարկել ուղիղ և պահել պատասխանը.

curl --proxy '' --http1.1 --max-time 10 \
  --request CONNECT \
  --request-target service.example:443 \
  --header 'Host: service.example:443' \
  --dump-header tunnel.headers \
  --output tunnel.body \
  http://proxy.example:8080/

Վերջնական URL-ը հասցեագրում է վստահված սերվերի լսողին։ Հանրային վստահված սերվերների թույլատրված համեմատության համար HTTP վստահված սերվերների ցանկը թեկնածուներ է տրամադրում այդ լսողի URL-ի համար։ --request-ը տալիս է մեթոդի նշանը, --request-target-ը՝ CONNECT-ի լիազորությունը։ Դրանք առանձին պահելը ստեղծում է CONNECT service.example:443 HTTP/1.1։

Դատարկ վստահված սերվերի ընտրանքը թույլ չի տալիս curl-ին այս ախտորոշումն անցկացնել մեկ այլ ժառանգված վստահված սերվերի միջով։ Հրամանը միտումնավոր բաց է թողնում --fail-ը, որպեսզի HTTP սխալի փաստաթուղթը պահպանվի։

Առանց նույնականացման փորձը կարող է կանգ առնել 407-ի վրա՝ մինչև հետազոտվող ձախողմանը հասնելը։ Նույնականացված հարցումը վերարտադրելիս օգտագործեք վստահված սերվերի նախատեսած նույնականացման կարգը։

Սա ձախողման պատասխանները ուսումնասիրելու համար է։ Եթե վստահված սերվերը վերադարձնի 2xx, կապը դառնում է թունել՝ սովորական HTTP մարմնի փոխանցման փոխարեն։ Այս հատուկ մեթոդի ախտորոշումը չի սկսում նպատակակետի TLS փոխանակությունը և կարող է հասնել իր ժամային սահմանին ընդունված բաց թունելի վրա։

Իրական HTTPS բեռնման համար օգտագործեք սովորական --proxy հարցումների հոսքը։ Ախտորոշման կարգավիճակն ու մարմինը պահեք իրենց կոնկրետ վստահված սերվերի և թիրախի հետ։

Առնչվող հոդվածներ