我有一个三层部署(networking服务器,应用程序,数据库)。 我已经在networking服务器(Apache)上应用了SSL证书。 在基于PHP的应用程序服务器上还有另一个应用程序。 此应用程序的请求通过virtualhost.conf
文件中的ProxyPass指令从Web服务器路由。
当我从应用程序服务器请求应用程序时,出现“mixedcontent”错误(通过https连接提供的http内容)。
我的问题:
1.我是否需要应用程序服务器上的SSL证书?
2.我如何得到这个错误消失?
在应用程序服务器上安装证书,并为此服务器添加虚拟主机设置,如下所示:
<VirtualHost *:443>
ServerName app.yourdomain.tld SSLProxyEngine On ProxyPass / https://app.yourdomain.tld/ ProxyPassReverse / https://app.yourdomain.tld/
</VirtualHost>
问题是,你的安全网站可能有自己的域名,你尝试从你的https站点embedded代码。 在这种情况下,浏览器警告用户连接的一部分没有encryption。
你可以先用一个免费的证书来试试这个,比如StartSSL。
如果您在代码中混用了http和https,则可能会发生这种情况,我认为您将通过阅读以下文章获益: How to Geek article