У меня трехуровневое развертывание (веб-сервер, приложение, база данных). Я применил сертификат SSL на веб-сервере (Apache). На сервере приложений есть еще одно приложение, основанное на PHP. Запросы для этого приложения направляются с веб-сервера через директиву ProxyPass в virtualhost.conf
файл.
Когда я запрашиваю приложение с сервера приложений, я получаю сообщение об ошибке «смешанное содержимое» (http-контент обслуживается через https-соединения).
Мои вопросы):
1. Нужен ли мне сертификат SSL на сервере приложений?
2. Как мне избавиться от этой ошибки?
Установите сертификат на сервер приложений и добавьте настройки виртуального хоста для этого сервера следующим образом:
<VirtualHost *:443>
ServerName app.yourdomain.tld
SSLProxyEngine On
ProxyPass / https://app.yourdomain.tld/
ProxyPassReverse / https://app.yourdomain.tld/
</VirtualHost>
Проблема в том, что у вашего защищенного веб-сайта, вероятно, есть собственное доменное имя, и вы пытаетесь встроить код из него на свой https-сайт. В этом случае браузер предупреждает пользователя, что части соединения не зашифрованы.
Вы можете сначала попробовать это с помощью бесплатного сертификата, например StartSSL.
Это может произойти, если вы смешаете в своем коде http и https. Думаю, вам будет полезно прочитать следующую статью: Статья How To Geek