Firebase主机上的站点是否可以包含非https资源?

Firebase主机上的站点是否可以包含非https资源?,firebase,web,firebase-hosting,Firebase,Web,Firebase Hosting,我一直在尝试将我的站点从divshot迁移到firebase,因为firebase已经接管了divshot并关闭了它 我的是一个简单的只读站点,不需要https。它还包含指向不支持https的外部站点的链接。该网站在divshot上运行得非常好,但firebase似乎强制所有网站使用https。不幸的是,这会导致我的站点引用的外部站点加载失败。错误是: 混合内容:通过HTTPS加载了“”处的页面,但请求了不安全的资源“”。此请求已被阻止;内容必须通过HTTPS提供 我试图删除http:,因此外部

我一直在尝试将我的站点从divshot迁移到firebase,因为firebase已经接管了divshot并关闭了它

我的是一个简单的只读站点,不需要https。它还包含指向不支持https的外部站点的链接。该网站在divshot上运行得非常好,但firebase似乎强制所有网站使用https。不幸的是,这会导致我的站点引用的外部站点加载失败。错误是:

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

我试图删除http:,因此外部站点只是//www.externalsite.com/,但这会导致证书错误。我无法将其更改为https,因为此外部站点不支持它


有办法解决这个问题吗?

简单的答案是没有。这完全是出于设计。在https站点上允许http是一个安全缺陷。因此它被阻塞了

但是,

  • 解决方案1:查找资源的https版本在您的情况下,这可能是不可能的
  • 解决方案2:将资源转换为https您可以自己使用https托管文件或资源。这可能需要你复制一个文件或其他东西,我要小心地说,不要盗版你不应该盗版的东西
  • 解决方案3:重定向这可能是最复杂的解决方案,但如果您试图访问某项服务,则可以创建自己的服务来重定向它。您使用的是firebase,这意味着您可能需要破解一些云函数来发出http请求()
  • 解决方案4:不要使用Firebase如果不想执行上述任何操作,并且没有http调用您就无法生存?您可能只是转储firebase并转移到其他托管服务

希望这对你有所帮助。这可能不是你想要的答案,但它可能会为你指明正确的方向

我希望如此!如果无法在firebase上使用netlify,我已经使用了netlify。需要能够使用http,以便加载http资源。感谢您回答Niles:)只是为了确认是否可以在firebase中切换到
http
?@shramee否。您将无法使用firebase来承载具有http的站点。Firebase归谷歌所有,谷歌正在大力推广https,所以这种情况不太可能改变。我介绍的解决方案是您可能能够绕过http源问题的方法。