Назад | Перейти на главную страницу

Предупреждения о смешанном содержимом 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, не затрагивая другие папки? Я думаю, это решит проблему, но не уверен, что это возможно.

Вам не нужно изменять сайт 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.