Если openssl s_client получает HTTP 403 в ответ на свой запрос CONNECT через прокси, начинайте именно с этого отказа. Запрошенный туннель не установлен.

С параметром -proxy s_client сначала просит HTTP-прокси подключиться к назначению, указанному в -connect. Только успешный ответ CONNECT превращает этот обмен в туннель для TLS-рукопожатия с назначением.

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

Запишите ответ прокси, а также запрошенные хост и порт назначения. Ответ 403 направляет внимание к решению прокси о доступе; ответ 407 требует аутентификации на прокси. Ни то, ни другое не исправляется отключением проверки сертификата назначения.

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

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