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
За HTTP прокси на локална порта 8080:
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 сесија. Управувано прокси за пресретнување на кое клиентот му верува има поинаков однос на доверба.