html - iframe 被阻止为不安全的内容,即使 iframe 是 HTTPS

标签 html iframe https mixed-content

我正在尝试将 iframe(包含 shellinabox,如果相关的话)嵌入到 HTTPS 网页上。我用来嵌入 iframe 的 HTML 非常简单:

<div class="jumbotron" style="min-height: 400px;">

    <iframe src="https://example.com/shellinabox" style="border:none; min-height: 400px;" width="100%"></iframe>
</div>

但是,Chrome 阻止了 iframe 的加载,因为它是“不安全的内容”,我必须手动取消阻止它才能工作。 Chrome 控制台报告如下错误:

Mixed Content: The page at 'https://example.com/mainpage/' was loaded over HTTPS, but requested an insecure resource 'http://example.com/shellinabox/'. This request has been blocked; the content must be served over HTTPS.

我对此感到困惑,因为显然我的 HTML 代码嵌入了 example.com/shellinabox 的 HTTPS 版本。此外,当我直接访问 https://example.com/shellinabox 时,锁图标是绿色的,没有任何东西被阻止,并且该页面上没有任何 SSL 问题的迹象。

我还在 Firefox、IE 和 MS edge 中对此进行了测试,它们都具有相同的行为(因此这不是 Chrome 特定的问题)。给了什么?

最佳答案

这是一个老问题,但我遇到了同样的问题。我的用例与您的略有不同,但希望这对您有所帮助。

对我来说,我的 python flask 服务器上的路由以“/”字符结尾。在我的 iframe 中,我在调用 src 末尾没有斜杠的路由时看到了同样的错误。向 iframe 中的 src 添加斜杠对我来说是个窍门。

<iframe src="https://example.com/shellinabox/" style="border:none; min-height: 400px;" width="100%"></iframe>

我不确定为什么 src 属性末尾缺少的斜杠会导致此错误。如果有人能解释原因,我会很乐意更新我的答案。

关于html - iframe 被阻止为不安全的内容,即使 iframe 是 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35042344/

相关文章:

c++ - 使用 boost asio 的 HTTPS POST 请求

html - 如何在两个引导列中垂直居中 block ?

javascript - 有没有办法使 div 模糊或聚焦?

php - 从表单提交 Sql 更新

javascript - 没有额外流量的 iframe 代理

javascript - 如何阻止 iframe 滚动直到它完全位于页面上? (里面的图片)

php - 第三方 cookie 不是用 iframe 写在 IE 上,即使是 P3P

php - 从 HTTP 转换为 HTTPS...错误和登录表单不起作用 - PHP?

javascript - 如何将图像从 SimpleHTTPServer 存储到我的计算机?

linux - 防止git pop gnome密码框