在网络流量中查看请求确认浏览器正在请求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中显示的网站,以便我们可以进一步分析它,因为它不太可能存在一般解决方案.