HTTPS через HTTP-прокси: как работает туннель CONNECT
Для доступа к HTTPS-сайту через HTTP-прокси клиент обычно применяет метод CONNECT. Он просит посредника установить TCP-соединение к точной паре хост и порт. После успешного ответа прокси переходит в режим двустороннего туннеля, а клиент устанавливает TLS с целевым сервисом внутри этого канала.
Главное за минуту
- CONNECT создаёт туннель к явно указанным хосту и порту.
- TLS сайта устанавливается после успешного туннеля.
- Код CONNECT и код веб-приложения относятся к разным этапам.
- Прокси-сервер должен ограничивать допустимые назначения.
Запрос на создание туннеля
Цель CONNECT записывается как authority — имя или IP вместе с портом. У метода нет подразумеваемого порта, поэтому клиент обязан передать его явно. Прокси проверяет правила доступа и пытается установить соединение к указанному назначению.
Переход в туннельный режим
Успешный ответ класса 2xx означает, что дальнейшие байты пересылаются в обе стороны. Прокси не должен интерпретировать их как новые HTTP-сообщения текущего соединения. Для HTTPS этими байтами становится TLS-обмен клиента с сервером назначения.
Два независимых результата
Прокси может успешно открыть туннель, после чего сайт вернёт 403, 404 или 500. Возможна и обратная ситуация: сайт исправен, но прокси не может создать туннель. Интерфейс чекера должен хранить CONNECT-код и ответ приложения раздельно.
Безопасная конфигурация
Открытый CONNECT к произвольным портам создаёт риск злоупотребления инфраструктурой. Администратор ограничивает направления и порты рабочими сценариями, применяет авторизацию и ведёт аудит. Пользователь, в свою очередь, не отключает проверку сертификата целевого сайта.
Практический чек-лист
- 1Передать точные хост и порт назначения.
- 2Проверить отдельно ответ CONNECT и TLS сайта.
- 3Не отключать проверку сертификата в рабочей среде.
- 4Разрешать только необходимые направления и порты.
- 5Не повторять автоматически запросы, способные изменить данные.
Источники и документы
Материал подготовлен по первичным, официальным и техническим источникам. Формулировки статьи являются самостоятельным изложением.