При обычном HTTPS через CONNECT приложение отправляет клиентский сертификат сайта во время собственного рукопожатия TLS с назначением. Прокси лишь пересылает байты; он не становится автоматически TLS-клиентом сайта.

Учётные данныеВладелец/соединение
Имя пользователя/пароль проксиДоступ клиента к прокси.
Клиентский сертификат и закрытый ключ сайтаСеанс TLS приложения с назначением.
Исходящий клиентский сертификат прокси-сервераСеанс TLS, который инициирует сам прокси.

Эти роли могут сосуществовать. Чтобы mTLS до назначения работал, не нужно загружать закрытый ключ сайта в простой туннельный прокси. После передачи CONNECT используйте обычную настройку клиентского сертификата назначения в приложении и продолжайте проверять сертификат сервера сайта.

SSLProxyMachineCertificateFile в Apache предоставляет учётные данные, когда Apache создаёт собственный исходящий сеанс TLS. Совет об этом файле не доказывает, что каждый клиент, использующий непрозрачный форвардный туннель, обязан его настроить.

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

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

Похожие статьи