gpt4 book ai didi

ssl - F5 负载均衡器后面主站点的子文件夹中站点的 iframe 的混合内容错误

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:49 24 4
gpt4 key购买 nike

我的配置:

  • 没有证书的 IIS 站点(看起来像带有 Window Server 2012R2 的 v6.2)
  • 通过 F5 负载均衡器进行 SSL 访问
  • 第二个站点(mediawiki,最新稳定版)作为同一站点子文件夹中的应用程序

我正在尝试将第二个站点作为 iframe 包含在我在 IIS 上运行的网站的子文件夹中。这些站点在负载平衡器后面访问。实际站点使用 http,因为它没有证书。负载均衡器有 Digicert 证书,我假设它充当反向代理。

因此,我可以通过 https 访问每个站点。 https://site.xxx , 和 https://site.xxx/mediawiki .所有链接似乎都显示 https。对于子文件夹,我查看了主页上的网络流量,没有看到任何不是 https 的 URL。

因此,我将第二个站点作为 iframe 固定在主站点中,浏览器不会加载它,并提示它不安全。查看 FF 的控制台输出,它说

Blocked loading mixed active content "http://site.xxx/mediawiki"

在 iframe 中,我指定了子文件夹的安全 FQDN。我也尝试了相对路径,但结果完全相同。

<iframe src="https://site.xxx/mediawiki"></iframe>

在 mediawiki 中,我指定了

$wgServer = "//site.com"";

我也尝试过在相同的设置中使用 https 设置主站点的 FQDN。

想知道为什么要切换到 http 吗?

最佳答案

解决办法是在 url 后面加一个斜杠,这样它就不会重定向(不知道技术原因,但我发现了 here )

<iframe src="https://site.xxx/mediawiki/"></iframe>

此外,对于 Media Wiki,其他一些有益的更改是适本地允许 iFrame

媒体维基

$wgApiFrameOptions = 'SAMEORIGIN';
$wgEditPageFrameOptions = 'SAMEORIGIN';

MVC 5

我还在主页上使用了 MVC 5,而你想要允许 iFrame,所以把它放在 Global.asax.cs 中。

    protected void Application_Start()
{
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;
}

此外,因为我使用我的自定义 AD 代码对主站点进行了身份验证,所以我必须确保它不会在子页面上强制执行它,这是做不到的(它是一个单独的 PHP 网站,而不是微软代码)。

  <location path="." inheritInChildApplications="false">
<system.web>
...
</system.web>
</location>

关于ssl - F5 负载均衡器后面主站点的子文件夹中站点的 iframe 的混合内容错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58561556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com