使用SSL加载子域时出现混合内容错误


Mixed Content error when loading subdomain using SSL

我有子域问题。当我使用"https"访问我的子域或其任何资源时(https://requests.fortgordon.com/login),我收到一个404错误,由于"混合内容",我的所有页面资源都无法返回。

但是当我使用"http"访问页面时(http://requests.fortgordon.com/login),负载良好。

如果我使用"https"直接访问子文件夹(https://www.fortgordon.com/testrequest2/login)页面加载,但所有资源都无法加载。

此外,我不确定这是否有助于解释这个问题,但www.fortgordon.com是Wordpress网站,requests.fortgordoncom不是。此外,我的资源的所有链接都以"//"开头,因此他们可以根据当前页面选择"http"或"https"。

您在页面中使用JavaScript动态地包含资源,并且这些资源显式地使用http://。来自`

... window._wpemojiSettings = ...
{"concatemoji":"http:'/'/www.fortgordon.com'/wp-includes'/js'/wp-emoji-release.min.js?ver=4.5"}};

还有几个样式表加载了显式http://,如下所示:

<link rel='stylesheet' id='widget-calendar-pro-style-css'  href='http://www.fortgordon.com/wp-content/plugins/events-calendar-pro/src/resources/css/widget-calendar-full.css?ver=4.1.2' type='text/css' media='all' />

然后可能会有广告:

<aside id="sam_pro_place_widget-9" class="widget sam_pro_place_widget">
<div id='c2262_5_1' class='sam-pro-container sam-pro-place'>
<a id='ad-5-2262' class='sam-pro-ad' 
   href='http://www.ihg.com/armyhotels/hotels/us/en/reservation?cm_mmc=IMMerch-_-MA_US_en-_-fortgordon-_-externalsite' ...

Chrome浏览器中的控制台在尝试包含这些内容时,会将其报告为混合内容。它还将在"源"视图中显示加载这些资源的来源。

我发现了问题所在。我需要通过WHM添加一个虚拟主机记录。我登录到WHM,单击SSL/TLS>在域上安装SSL证书。在域框中,我键入了我想要覆盖的子域,然后单击按域自动填充并在底部安装——这为使用SSL的子域添加了一个虚拟主机记录。现在一切都很好!