SSL 混合内容警告。我无法使我请求的其他服务器具有 SSL。我有什么选择?

SSL 混合内容警告。我无法使我请求的其他服务器具有 SSL。我有什么选择?

因此,我在一台服务器上有一个应用程序,我已将其配置为具有 SSL。但是,它会对我的另一台服务器进行大量 API 调用,但该服务器有多个服务,但没有 SSL。我知道,如果我将 SSL 添加到第二台服务器,它上面的许多应用程序将崩溃,我不希望这些应用程序/网页停机。第一台服务器尚未投入生产,但第二台服务器已经投入生产,并且有多个页面/应用程序。

我的设置基本上是这样的:

第一台服务器:

superwebpage.coolexample.com

并且此 ^ 服务器(带有 SSL)向下面的服务器(不带有 SSL)发出 API 调用:

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 将同时运行。

相关内容