Проверка HTTPS-прокси в локальном мосте stunnel
Предоставьте приложению незашифрованную HTTP-точку на loopback, а проверку TLS до настоящего прокси поручите stunnel.
[proxy_tls]
client = yes
accept = 127.0.0.1:3129
connect = proxy.example:8443
verifyChain = yes
CAfile = /path/to/trusted-ca-bundle.pem
checkHost = proxy.example
sni = proxy.exampleУкажите нужный удалённый прокси и доверенный набор CA. verifyChain проверяет цепочку издателей его сертификата; checkHost проверяет имя. sni передаёт имя, но не проверяет его.
Направьте клиент HTTP-прокси на локальную конечную точку:
curl --proxy http://127.0.0.1:3129 https://www.example.org/Приложение по-прежнему выполняет CONNECT и необходимый вход на прокси. stunnel добавляет участок TLS, а не HTTP-аутентификацию. Удалённый слушатель должен действительно предоставлять HTTP-прокси поверх TLS.
Для HTTPS-сайтов TLS до целевого сервера продолжается внутри этого маршрута со своей обычной проверкой. Два сертификата удостоверяют разные стороны соединения.