+
95
-

回答

在现代浏览器中,由于安全性考虑,HTTPS 页面内嵌 HTTP 的 iframe 会被浏览器阻止显示,这是浏览器的安全策略之一,称为"Mixed Content"。为了解决这个问题,您可以考虑以下几种方法:

将被嵌入的 HTTP 页面升级为 HTTPS

最简单的方法是将被嵌入的 HTTP 页面升级为 HTTPS。这样两者协议一致,就不会触发浏览器的安全策略。

使用 HTTPS 页面代理 HTTP 内容

您可以在您的 HTTPS 页面上创建一个代理,通过服务器端将 HTTP 内容获取并传递给客户端,然后在 HTTPS 页面上显示。这样可以避免 Mixed Content 问题。

在服务器端进行内容转发

您可以在服务器端设置代理,将 HTTP 内容请求转发到服务器端,然后将内容传递给客户端。这样可以绕过浏览器的 Mixed Content 限制。

使用 Content Security Policy (CSP)

您可以在 HTTPS 页面的响应头中设置 Content Security Policy,以允许特定来源的混合内容加载。通过配置 CSP,您可以控制哪些内容可以加载到您的页面中。

考虑其他替代方案

如果以上方法都无法解决问题,您可能需要考虑其他替代方案,如使用不同的技术来替代 iframe,或者重新设计页面结构以避免混合内容问题。

请注意,为了确保用户数据的安全性和隐私,浏览器对混合内容有严格的限制。因此,尽量避免在 HTTPS 页面中嵌入不安全的 HTTP 内容,以确保网站的安全性和用户体验。

网友回复

我知道答案,我要回答