HTTPS页面内的HTTPS iframe不工作

HTTPS页面内的HTTPS iframe不工作,iframe,https,github-pages,firebase-hosting,mixed-content,Iframe,Https,Github Pages,Firebase Hosting,Mixed Content,我们如何正确使用嵌入在iframe中的github页面 我在firebase中托管了一个网站,它使用https上的自定义域,例如, 这个网站使用react和其他东西,但对于一个路由(登录页),我想使用github上托管的静态页面,例如。因此,为了实现这一点,我在路由中创建了一个iframe 问题是我一直收到以下错误: 混合内容:已加载“”处的页面 通过HTTPS,但请求了不安全的资源 ''. 此请求已被阻止;这个 内容必须通过HTTPS提供 奇怪的是iframe看起来很正确: <ifram

我们如何正确使用嵌入在iframe中的github页面

我在firebase中托管了一个网站,它使用https上的自定义域,例如,

这个网站使用react和其他东西,但对于一个路由(登录页),我想使用github上托管的静态页面,例如。因此,为了实现这一点,我在路由中创建了一个iframe

问题是我一直收到以下错误:

混合内容:已加载“”处的页面 通过HTTPS,但请求了不安全的资源 ''. 此请求已被阻止;这个 内容必须通过HTTPS提供

奇怪的是iframe看起来很正确:

<iframe title="Page" src="https://example.github.io/page">unwanted text</iframe>
不需要的文本
它已经在使用https,但看起来这一点被忽略了。 我已经尝试使用此元
,用
关闭iframe,并在iframe中添加不需要的文本


我们能解决这个问题吗?

如果仔细检查HTML代码和错误消息,您会注意到除了协议部分之外,URL中还有一些细微的差异:

  • https://example.github.io/page
    -在
    iframe
    src
    标记中
  • http://example.github.io/page/
    -在错误消息中
原因可能是URL返回一个带有尾随斜杠(
/page/
)的“规范”版本的重定向,但重定向URL必须是完整的URL,并且服务器出于某种原因没有在重定向URL中包含实际协议,始终使用
http://
。这可能是由于服务器端的配置或编码(另请参见github问题)


作为一种解决方法,请使用不会触发规范化重定向的URL,即
https://example.github.io/page/

尝试在iframe URL中添加一个尾随斜杠。哇,看起来很有效=)。我不知道为什么。你想把它作为答案贴出来吗?这也是我的问题。如果发生重定向,则无法从请求中清除。