HTTP CONNECT: HTTP proksi HTTPS bilan qanday ishlaydi?
HTTPS so‘rovini HTTP proksi orqali kuzating, CONNECT javobini asl server javobidan ajrating va tunnel qayerda ishlamay qolishini toping.
“200 Connection Established” proksi tunnelni qabul qilganini bildiradi. Sayt hali sahifa qaytargani yo‘q. Keyin manzil bilan TLS, undan so‘ng HTTPS so‘rovining o‘zi bajariladi.
Proksiga ulanishdan sayt javobigacha
- Mijoz proksining oxirgi nuqtasiga ulanadi.
- Proksidan belgilangan host va portga ulanishni so‘raydi.
- Proksi ushbu so‘rovni qabul qiladi yoki rad etadi.
- Qabul qilingach, mijoz tunnel orqali manzil bilan TLS kelishuvini bajaradi.
- Mijoz HTTPS so‘rovini yuboradi va sayt javobini TLS ichida oladi.
Proksiga ulanishning rad etilishi, tunnelning rad etilishi va sertifikat xatosi ushbu ketma-ketlikning turli nuqtalarida yuz beradi. Sozlamalarni o‘zgartirishdan oldin oxirgi tugallangan qadamni toping.
CONNECT almashinuvi
HTTP/1.1 da soddalashtirilgan almashinuv quyidagicha:
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
HTTP/1.1 200 Connection Established
So‘rov nishoni host va portdan iborat bo‘lib, sayt yo‘li yoki so‘rov parametrlarini o‘z ichiga olmaydi. Muvaffaqiyatli CONNECT javobidan so‘ng ulanish tunnel baytlarini uzatadi. HTTPS manzili uchun mijozning keyingi almashinuvi TLS qo‘l siqishidir.
Inglizcha izoh iborasini solishtirish o‘rniga raqamli holat kodini o‘qing. Proksilar bir xil holat uchun turli matn ishlatishi mumkin.
curl bilan kuzating
Mahalliy 8080 portidagi HTTP proksi uchun:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Tinglash manzilini o‘z oxirgi nuqtangiz bilan almashtiring. Nomzodlar kerak bo‘lsa, HTTP proksilar ro‘yxatini ko‘rib chiqing va tanlangan yozuvni sinang. Bo‘sh chetlab o‘tish ro‘yxati bu chaqiruvning proksini tanlashini ta’minlaydi. Vaqt tartibida proksiga ulanish, CONNECT javobi, manzil sertifikatining tekshirilishi va sayt javobini qidiring. Jurnaldagi aniq so‘zlar curl yig‘ilmasiga bog‘liq.
Proksi tunnelni qabul qilgandan keyin manzil 404, 429 yoki 500 qaytarishi mumkin. Har qanday HTTP javobini qaytarishdan oldin, TLS davomida ham xato yuz berishi mumkin.
Qayerda to‘xtadi?
| Kuzatuv | Keyin nimani tekshirish kerak |
|---|---|
| Proksiga ulanish rad etiladi | Proksi manzili, tinglash porti, jarayon va tarmoqqa kirish. |
| Proksi 407 qaytaradi | Proksi hisobi va autentifikatsiya sxemasi. |
| Proksi manzil yoki portni rad etadi | Kirish siyosati va ruxsat etilgan CONNECT manzillari. |
| Tunnel ochiladi, keyin TLS tekshiruvi muvaffaqiyatsiz bo‘ladi | Manzil nomi, ishonch ombori, soat va ehtimoliy boshqariladigan TLS tutib qolishi. |
| TLS muvaffaqiyatli bo‘ladi va sayt xato qaytaradi | Saytning javobi. |
Solishtirishda bir tomonni o‘zgartirmang: shu proksi orqali boshqa manzilni sinang yoki o‘sha manzilni ruxsat etilgan bevosita yo‘l orqali solishtiring.
Tunnelning baribir operatori bor
Proksi CONNECT manzilini biladi va trafik vaqtlarini hamda hajmini boshqaradi. Odatdagi uchdan uchgacha TLS saytning ilova tarkibini ushbu TLS seansini o‘zida tugatmaydigan proksidan himoya qiladi. Mijoz ishonadigan boshqariluvchi tutib qolish proksisida boshqacha ishonch munosabati mavjud.