Я уже несколько часов пытаюсь получить свою конфигурацию SSL. Я использую CentOS7. У меня есть сертификаты SSL, сгенерированные и работающие правильно; Я могу https://myip.com/test и получить html через SSL.
У меня есть служба, которая работает на отдельном порту (мы назовем его портом 12345, но при необходимости его можно изменить), который запускает собственный http-сервер. Я хотел бы получить к нему доступ через SSL. мой .conf файл в / etc / httpd / sites-available читает:
<VirtualHost *:443>
ServerAdmin email@address
ServerName server
ServerAlias *:443
ErrorLog /var/www/html/cam/error.log
SSLEngine On
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
SSLProxyEngine On
ProxyRequests On
ProxyPreserveHost On
ProxyVia full
<proxy *>
Order deny,allow
Allow from all
</proxy>
ProxyPass / http://192.168.1.90:12345/
ProxyPassReverse / http://192.168.1.90:12345/
</VirtualHost>
Насколько я понимаю, ProxyPass и ProxyPassReverse должны перенаправлять входящее SSL-соединение на http-сервер / службу, работающую на локальном порту. Правильно ли я понимаю это и просто что-то упускаю при правильной настройке, или это не способ добиться этого?
С показанной конфигурацией я получаю ЗАПРЕЩЕННУЮ ошибку, но если я помещаю index.html внутри / var / www / html / cam, он показывает это через SSL https.
Спасибо за любую помощь
Еще немного поигравшись, я понял, в чем проблема. Во-первых, мне нужно было указать путь в двух строках прокси; Их нужно было изменить на:
ProxyPass /cam/ http://192.168.1.90:12345/
ProxyPassReverse /cam/ http://192.168.1.90:12345/
Кроме того, я изначально поставил только «/ cam» и все еще имел ошибку. Посмотрев на / var / log / httpd / access_log, я увидел, что он пытается GET / cam / - это заставило меня подумать, что правило прокси не соответствует. Я добавил косую черту в конце и вуаля, все заработало. Теперь HTTPS-запросы к / cam / перенаправляются на локальную службу / сервер, работающий на порту 12345.
FYI для всех, кто пытается следовать и применять это к своей ситуации, на случай, если вы не знакомы с настройкой SSL (я только что в нее вошел сегодня) - Спецификация каталога cam происходит из настройки в / etc /httpd/conf/httpd.conf в строке "IncludeOptional sites-enabled / *. conf", в которой был размещен cam.conf.
Я начал с этой ссылки: https://www.techrepublic.com/article/how-to-enable-https-on-apache-centos/ - очень хорошее руководство по первоначальной настройке SSL. Причина этого поста заключалась в том, что после всего этого я хотел перенаправить конкретный адрес HTTPS на не-https-сервер, работающий на локальном компьютере.
Думаю, я рассмотрел все, что сделал, чтобы решить эту проблему - я попытался добраться сюда как можно скорее, прежде чем забыл какие-либо детали!