[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 до целевого сервера продолжается внутри этого маршрута со своей обычной проверкой. Два сертификата удостоверяют разные стороны соединения.

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