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

2
задан 29 September 2017 в 19:54
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. .

1
ответ дан 3 December 2019 в 12:35

Теги

Похожие вопросы