Firebase托管上的网站可以包含非https资源吗?

时间:2015-12-30 05:22:42

标签: firebase web firebase-hosting

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

Mine是一个简单的只读站点,不需要https。它还包含指向不支持https的外部站点的链接。该网站完美的divshot,但它看起来像firebase强制所有网站使用https。不幸的是,这会导致我的网站引用的外部网站加载失败。错误是:

  

混合内容:“https://mysite.firebaseapp.com/”页面是通过HTTPS加载的,但请求了不安全的资源“http://www.externalsite.com/”。此请求已被阻止;内容必须通过HTTPS提供。

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

有没有解决这个问题的方法?

1 个答案:

答案 0 :(得分:8)

简短的回答是否定的。这完全是设计上的。在https网站上允许http是一个安全漏洞。因此它被阻止了。

然而,

  • 解决方案1:查找资源的https版本在您的情况下,这可能无法实现。
  • 解决方案2:将资源转换为https 您可以使用https自行托管文件或资源。这可能要求你复制一个文件或其他东西,我谨慎地说,不要盗用你不应该的东西。
  • 解决方案3:重定向这可能是最常用的解决方案,但如果您尝试访问某些服务,则可以创建自己的服务来重定向它。你在firebase上,这意味着你可能会破解一些云功能来发出http请求(How to make an HTTP request in Cloud Functions for Firebase?
  • 解决方案4:不要使用Firebase 不想执行上述任何操作,您无法忍受http呼叫?您可能只是转储firebase并转移到其他托管服务。

希望您觉得这有用,它可能不是您所寻找的答案,但它可能会指向您正确的方向。