Существует ли HTTP прокси с поддержкой SSL renegotiation и пробросом уже HTTPS?
Всем привет.
Ищется нечто, что могло бы принимать запросы по HTTP и проксировать их дальше по HTTPS, умеющее при этом TLS renegotiation.
Этот промежуточный прокси должен сам устанавливать HTTPS соединение и принимать в настройках сертификаты.
squid просто прокачивает трафик, из nginx renegotiation выпилен еще в 0.8...
Хочется что-то типа nginx с его proxy_ssl_certificate и proxy_pass: мы ему URL, доп заголовки, тело запроса; он нам в ответ - ответ удаленной стороны + http статус.
И да, я в курсе про то, что это MiM и прочие ужасы - выбора нет, нужно так.
В общем, в итоге все вылилось в небольшого демона на Go, принимающего запросы по HTTP, и ходящего по HTTPS на проблемные сервера через libcurl (cgo). Самое важное в этой связке - libcurl.
Запускаем пул таких процессов, и все получается вполне неплохо.
С клиентом общение по HTTP. Клиентский сертификат и приватный ключ нужны для подключения к стороннему серверу. Есть тестовый рабочий пример через curl, которому подсовываются соответствующие CURLOPT_SSLCERT, CURLOPT_SSLKEY и CURLOPT_CAINFO.
Не сталкивался( Бегло глянул, не похоже, что он умеет сам реализовать HTTPS с CONNECT и renegotiation. Задача не просто шифровать канал, а именно HTTPS с клиентским сертификатом.