因此,我在一台服务器上有一个应用程序,我已将其配置为具有 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 将同时运行。