Ssl F5负载平衡器后面的主站点子文件夹中的站点iframe存在混合内容错误
我的配置:Ssl F5负载平衡器后面的主站点子文件夹中的站点iframe存在混合内容错误,ssl,iis,iframe,mediawiki,Ssl,Iis,Iframe,Mediawiki,我的配置: 没有证书的IIS站点(看起来像带有Windows Server 2012R2的v6.2) 通过F5负载平衡器进行SSL访问 第二个站点(mediawiki,最新版本),作为同一站点子文件夹中的应用程序 我正在尝试将第二个站点作为iframe包含在我在IIS上运行的网站的子文件夹中。这些站点通过负载平衡器进行访问。实际站点使用http,因为它没有证书。负载平衡器有一个Digicert证书,我假设它充当反向代理 所以,我可以通过https访问每个站点,和。所有链接似乎都显示https
- 没有证书的IIS站点(看起来像带有Windows Server 2012R2的v6.2)
- 通过F5负载平衡器进行SSL访问
- 第二个站点(mediawiki,最新版本),作为同一站点子文件夹中的应用程序
Blocked loading mixed active content "http://site.xxx/mediawiki"
在iframe中,我指定了子文件夹的安全FQDN。我还尝试了一个相对路径,但得到了完全相同的结果
<iframe src="https://site.xxx/mediawiki"></iframe>
我还尝试在相同的设置中使用https设置主站点的FQDN
有没有想过为什么会切换到http 解决这个问题的方法是在url后面加上最后一个斜杠,这样它就不会重定向(不知道技术原因,但我发现了) MVC 5 我还在主页上使用了MVC5,您希望允许使用iFrame,所以请将其放在Global.asax.cs中
protected void Application_Start()
{
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;
}
另外,因为我用我的自定义广告代码对主站点进行了身份验证,所以我必须确保它不会在子页面上强制它,而子页面不能这样做(它是一个单独的PHP网站,而不是Microsoft代码)
...
我在试图通过iframe包含一个基于Jekyll的站点时遇到了这个问题,也在负载平衡器后面,这个解决方案(拖尾正斜杠)为我解决了这个问题,非常感谢。在回答您的问题时,您没有看到任何非https流量的原因是浏览器直接阻止了请求。这也让我大吃一惊,我的iframe仍然是https://url/dir
因为发出请求的请求http://url/dir/
已被拒绝。具有讽刺意味的是,如果它没有被拒绝,我的负载平衡器会强迫它使用https,就像你的一样,但我们走了。。
<iframe src="https://site.xxx/mediawiki/"></iframe>
$wgApiFrameOptions = 'SAMEORIGIN';
$wgEditPageFrameOptions = 'SAMEORIGIN';
protected void Application_Start()
{
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;
}
<location path="." inheritInChildApplications="false">
<system.web>
...
</system.web>
</location>