html – Chrome iFrame阻止HTTPS重定向

前端之家收集整理的这篇文章主要介绍了html – Chrome iFrame阻止HTTPS重定向前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个父网站:https://a.company.com,其中包含一个带有https内容的iframe(https://b.company.com/foo),到目前为止一切都很愉快.但是,当发生重定向以在同一个域上加载不同的路由时,chrome将其阻止为混合内容错误.
在网络流量中查看请求确认浏览器正在请求https,但chrome仍然取消请求,因为我无法加载混合(http)内容.

到目前为止,所有搜索都让我想到加载混合内容的人,这不是这里的情况.

作为参考,这是铬错误
混合内容:“https://a.company/foo页面是通过HTTPS加载的,但是请求了一个不安全的资源“http:/b.company/bar”.此请求已被阻止;内容必须通过HTTPS提供.

实际的帧源是https:/b.company/foo,它可能重定向到https:/b.company/bar.如果页面没有重定向,则不会发生错误.

解决方法

旧问题但仍然相关,所以我会尽力回答这个问题.

如前所述:您不允许在https服务的网站中加载不安全的http内容,因为它会危及安全性.无论如何,如果您尝试这样做,Chrome会阻止它并抛出前面提到的错误.

确保您确实通过https请求的第一步是检查iframe中的URL,该URL应如下所示:

<iframe src="https://foobar.com"></iframe>
                ↑
          this needs to be https

现在获取确切的URL并将其粘贴到任何浏览器中,以查看适用的规则.如果以任何方式重定向,则可能在重定向之后或之间使用不安全的http连接.他们甚至可能有一个直接的https-to-http规则(不太可能).还要检查控制台,因为他们可能会尝试在其https服务页面中加载不安全的内容,这可能会导致您的错误.如果您发现其中一件事但是您无法访问服务器,那么您的旅程将在此结束,除非您想要如此糟糕地提供该内容,以至于您愿意自己使用http.

另一方面,如果您有权访问服务器,则可以删除这些重定向或检查其配置.由于有许多不同的Web服务器,操作系统和配置,我不会尝试提供一般教程,但使用您选择的搜索引擎应该不难找到.

一般来说:如果要加载的内容仅通过https提供,则可以使用.

当浏览器中的所有内容似乎都正常工作(没有可见的重定向)并且您仍然会收到错误时,您可以使用Wireshark或其他工具来记录您的流量.可能是错误配置的https以某种方式混淆了Chrome不喜欢的握手.将这些日志发布到SO或共享您要在iframe中显示的网站,以便我们可以进一步分析它,因为它不太可能存在一般解决方案.

猜你在找的HTML相关文章