Прокси

HTTP-прокси и метод CONNECT: что видит посредник

Два режима работы веб-прокси, как через него проходит защищённое соединение и что именно посредник знает о вашем визите при HTTPS.

6 мин чтения

Посредник, который понимает запросы

У веб-прокси два режима работы, и разница между ними определяет, что посредник знает о вашем визите. В терминологии стандарта HTTP-прокси — это передающий агент, которого выбирает сам клиент: он принимает запросы и старается их выполнить, обращаясь дальше по сети. В отличие от SOCKS5 он разбирает структуру веб-запроса, а не просто проводит байты.

Из этого следуют два разных режима работы, и разница между ними определяет, что посредник знает о вашем визите.

Режим первый: обычный запрос

Для незащищённого соединения прокси получает запрос целиком и выполняет его сам. Ему доступен полный адрес страницы, заголовки, содержимое. Он может его кешировать, изменять заголовки, вести подробный журнал. Именно так работают корпоративные фильтры.

Режим второй: туннель через CONNECT

Для защищённого соединения такой подход не годится — содержимое зашифровано между вами и сайтом. Здесь используется метод CONNECT, описанный в разделе 9.3.6 стандарта RFC 9110: он просит посредника установить туннель до указанного узла.

Стандарт описывает туннель как слепой ретранслятор между двумя соединениями, который не меняет сообщения. После установки туннель не считается участником обмена — он просто передаёт данные в обе стороны.

Что посредник видит при HTTPS

Точный ответ важен, потому что вокруг него много путаницы.

Прокси знает узел назначения и порт — без них он не смог бы построить туннель, они передаются в самом запросе CONNECT. Он видит объём переданных данных и время соединения.

Он не видит содержимое: какие именно страницы вы открывали внутри сайта, что вводили в формы, что скачивали. Для него это непрозрачный поток.

То есть владелец HTTP-прокси получает список сайтов, куда вы ходили, с вашим настоящим адресом рядом. Для части задач это приемлемо, для части — ровно та информация, которую и хотели скрыть.

Где это настраивается

В системных параметрах сети — тогда настройку подхватывают приложения, которые её читают. Chrome по умолчанию берёт системные настройки прокси, а Firefox имеет собственные и системные может игнорировать.

Отдельная история — файл автоматической настройки: вместо фиксированного адреса указывается ссылка на скрипт, который решает, для какого узла использовать посредника, а для какого идти напрямую. В командной строке ту же роль играют переменные окружения вида HTTP_PROXY и HTTPS_PROXY, их читают консольные утилиты.

Прозрачный прокси, о котором вас не спросили

Существует схема, где посредник стоит в разрыве канала и перехватывает соединения без всякой настройки на вашей стороне. В параметрах устройства при этом пусто, адрес и порт никто не вводил.

Так устроены фильтры в публичных сетях и часть корпоративных контуров. Признак обычно один: браузер сообщает о проблеме с сертификатом на сайтах, которые в другой сети открываются без замечаний, — это значит, что защищённое соединение пытаются разобрать по дороге.

Проверить, идёт ли трафик через посредника, можно по адресу, который видит внешний сайт: если он не совпадает с вашим обычным, между вами и сетью кто-то есть.

Как подключиться за 2 минуты
Частые вопросы

Частые вопросы

Видит ли HTTP-прокси мои пароли при входе на сайт
Если сайт работает по HTTPS — нет. После установки туннеля методом CONNECT посредник передаёт зашифрованный поток вслепую и содержимое ему недоступно. При незащищённом соединении содержимое запроса он видит целиком.
Что такое метод CONNECT
Это запрос к прокси установить туннель до указанного узла, описан в разделе 9.3.6 RFC 9110. Через такой туннель проходит защищённое соединение: посредник передаёт данные в обе стороны, не меняя их.
Почему прокси работает в Chrome, но не в Firefox
Chrome по умолчанию использует системные настройки прокси, а у Firefox есть собственные настройки соединения. Если прокси задан только в системе, Firefox может продолжать ходить напрямую, пока его не настроить отдельно.
Чем HTTP-прокси отличается от SOCKS5 на практике
HTTP-прокси предназначен для веб-трафика и понимает структуру запросов, а SOCKS5 проводит любое соединение, не разбирая содержимое. Поэтому для мессенджеров и игр обычно указывают SOCKS5, а не HTTP.
Похожее

Ещё в базе знаний

Похожее

Настроить и подключить

Подключите рабочий VPN

Инструкции базы знаний написаны под ключи VPN PRO: ключ выдаёт Telegram-бот за минуту, работоспособность гарантируем. 3 дня бесплатно, без карты.

Гарантия работоспособности · оплата СБП, картой МИР или криптовалютой