Предупреждения о смешанном содержании SSL. Я не могу заставить другой сервер, с которого я запрашиваю, иметь SSL. Какие у меня варианты?
Итак, у меня есть приложение на одном сервере, для которого я настроил SSL. Тем не менее, он выполняет несколько вызовов API для другого моего сервера, но этот сервер имеет более одной службы и не имеет SSL. Я точно знаю, что если я добавлю SSL на второй сервер, многие приложения на нем сломаются, и я не хочу иметь время простоя этих приложений / веб-страниц. Первый сервер еще не запущен, но на втором есть несколько страниц / приложений.
Моя установка в основном это:
Первый сервер:
superwebpage.coolexample.com
и этот ^ сервер (с SSL) делает API-вызовы API с сервера (без SSL) ниже:
myweb.example.com/api
myweb.example.com/app2
myweb.example.com/anotherimportantwebpage
myweb.example.com/importantwebpage
Однако мое приложение с первого сервера явно ломается, потому что все вызовы API небезопасны, и я просто получаю кучу предупреждений о смешанном контенте.
Причина, по которой сервер 2 не имеет SSL, заключается в том, что он мне просто не нужен, потому что до сих пор не передается важная информация.
В общем, мой вопрос: какие у меня варианты? Я хочу, чтобы второй сервер не отключался, как бы долго он ни исправлял все ошибки, которые будут происходить с каждым приложением / веб-страницей на моем сервере. Я также хочу иметь SSL на первом сервере, потому что пользователи будут входить в систему с паролями.
В частности, можно ли сделать так, чтобы одна папка обслуживала https, не затрагивая другие папки? Я думаю, что это решит проблему, но я не уверен, что это возможно.
1 ответ
Вам не нужно менять сайт HTTP, чтобы добавить HTTPS. Просто добавьте VirtualHost
для порта 443 укажите DocumentRoot
в тот же каталог, и у вас все настроено:
<VirtualHost *:80>
ServerName yourserver.com
DocumentRoot /var/www/yourserver.com
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/yourserver.com
ServerName your-domain.com
SSLEngine On
SSLOptions +StrictRequire
SSLCertificateFile /some/directory/server.crt
SSLCertificateKeyFile /some/directory/server.key
SSLProtocol TLSv1
</VirtualHost>
Перезапустите Apache, и HTTPS и HTTP будут запущены одновременно.