Предупреждения о смешанном содержании 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 будут запущены одновременно.

Другие вопросы по тегам