Жижиг прокси бүрхүүл HTTPS-тэй ажиллаад, сервер нь эхэлж ярьдаг протоколд дахин ашиглах үед гацах боломжтой. Сэжигтэй мөр нь ихэвчлэн хүлээн авах буфер \r\n\r\n-ээр дуусахыг хүлээж буй мөр байдаг.

TCP клиентэд урсгал өгдөг. Нэг хүлээн авах дуудлага HTTP төлөвийн мөрийн хагасыг, бүрэн CONNECT хариуг, эсвэл тэр хариуг шууд дагасан туннелийн өгөгдлийг буцааж болно. Уншилт толгойнуудын төгсгөлд зогсоно гэсэн баталгаа байхгүй.

Буферийн дотор хил хязгаарыг ол

HTTP/1.1 CONNECT солилцоонд толгойн төгсгөлийн тэмдэг буферийн аль ч хэсэгт гарч ирэх хүртэл байтуудыг хураа. Эхний гарсан газарт нь хуваа. Төлөвийн мөр болон толгойнуудыг эхний хэсгээс задал; хилийн дараах бүхнийг тусад нь хадгал. Хүлээх үед толгойн хэмжээний хязгаар болон хугацааны хязгаар хэрэглэ, хоосон сокет уншилтыг давталт руу дахин уриалга биш, хаагдсан холболт гэж үз.

Эцсийн амжилттай 2xx хариу тэдгээр толгойнуудын дараа шууд холболтыг туннелийн горимд шилжүүлнэ. Түүнийг дагах байтууд аль хэдийн туннелийн байтууд юм. Тэднийг бүү хая, CONNECT хариуны биеийг бүү хүлээ, Content-Length талбарыг шинэ протоколын нэг хэсгийг хэрэглэх зөвшөөрөл гэж бүү тайлбарла. Мэдээллийн хариу байвал тэдгээрийг эцсийн хариунаас өмнө шийдвэрлэх ёстой.

Бүрхүүл үлдэгдлээ дамжуулах ёстой

Зөвхөн доогуур байгаа сокетыг буцаах нь гар барилтын задлагч түүнээс аль хэдийн татсан байтуудыг алддаг. Дараагийн уншигчид эхлээд хадгалсан сүүлийг өгч, дараа нь сокет уншилтыг үргэлжлүүлэх буфертэй урсгал хэрэгтэй. Сервер эхэлж ярьдаг протоколд тэр эхний мэндчилгээг алдах нь хоёр талыг хязгааргүй хүлээлгэж болно.

Харин бүтэлгүй CONNECT хариуны байтууд нь туннелийн мэндчилгээ биш. 407 нь прокси солилцоонд хамаарах хэвээр бөгөөд нэвтрүүлэлтийн боловсруулалт шаарддаг; бусад бүтэлгүй төлөв тохирох алдааны зам шаарддаг.

Энэ нь ялангуяа HTTP проксигоор дамжуулан FTP эсвэл SSH клиентийг тохируулах үед чухал. Прокси нь хүссэн очих портыг зөвшөөрөх ёстой бөгөөд FTP-д нэмэлт өгөгдлийн холболт шаардлагатай байж болно. Толгойг зөв задалж шинжлэх нь урсгалын дамжуулалтыг шийддэг; энэ нь CONNECT зөвшөөрөл өгч чадахгүй, FTP-ийн хоёр дахь сувгийг хангаж чадахгүй.

Холбоотой нийтлэлүүд