我们如何才能正确使用嵌入在iframe中的github页面?
我在firebase中托管了一个网站,并且它使用自定义域而不是https,例如 https://www.example.com 。
这个网站使用反应和其他东西,但是对于一个路线(着陆页一个),我想使用github上托管的静态页面,例如 https://example.github.io/page 。因此,为了实现这一点,我在路线 https://www.example.com/page 中创建了一个iframe。
问题是我收到了以下错误:
混合内容:' https://www.example.com/page'装了 通过HTTPS,但请求不安全的资源 ' http://example.github.io/page/&#39 ;.此请求已被阻止;该 内容必须通过HTTPS提供。
奇怪的是iframe看起来正确:
<iframe title="Page" src="https://example.github.io/page">unwanted text</iframe>
它已经在使用https了,但看起来这个被忽略了。
我已尝试使用此元<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
,使用</iframe>
关闭iframe,并在iframe中添加不需要的文字。
我们能解决这个问题吗?
答案 0 :(得分:21)
如果仔细检查HTML代码和错误消息,除了协议部分之外,您还会发现网址略有不同:
https://example.github.io/page
- 位于iframe
src
标记http://example.github.io/page/
- 在错误消息中原因可能是网址https://example.github.io/page会将重定向返回给&#34;规范&#34;带有斜杠(/page/
)的版本,但重定向网址必须是完整的网址,服务器出于某种原因并不包含重定向网址中的实际协议,始终使用http://
代替。这可能是由于服务器端的配置或编码(另见github问题#289)。
要解决此问题,请使用不会触发规范化重定向的网址,即https://example.github.io/page/
。