У меня есть приложение Python, которое прослушивает порт 9001 для HTTP-трафика.
Я пытаюсь настроить Apache (или что-то еще) для прослушивания порта 443 для HTTPS-соединений, а затем перенаправить соединение без шифрования на порт 9001 на том же компьютере. Затем мое приложение ответит через прокси-сервер, где шифрование будет повторно применено и прозрачно возвращено клиенту.
Я не делаю ничего сумасшедшего с именами сайтов и сертификатами SSL, у меня есть один публичный IP, одно имя хоста и один сертификат SSL. Удаление шифрования на прокси-сервере не является обычным требованием.
Это нормальное требование? Есть ли другие проблемы с такой конфигурацией?
На самом деле, довольно просто. Вам нужен виртуальный хост с шифрованием, а затем прокси для незашифрованной конечной точки HTTP.
<VirtualHost *:443>
ServerName www.example.com
SSLEngine On
SSLCertificateFile /path/to/cert.pem
SSLCertificateKeyFile /path/to/cert.key
ProxyPass / http://localhost:9091/
ProxyPassReverse / http://localhost:9091/
</VirtualHost>