2015-12-30 51 views
9

我一直在试图将我的网站从divshot迁移到firebase,因为firebase已经接管了divshot并将其关闭。Firebase托管网站可否包含非https资源?

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

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

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

有没有办法解决这个问题?

+0

我希望如此!如果在firebase上无法使用netlify,则可以使用netlify。 – camomileCase

+0

需要能够使用http,所以我可以加载http资源。 – shramee

回答

3

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

然而,

  • 解决方案1:找到你的情况下,资源的HTTPS版本,这可能是不可能的。
  • 解决方案2:资源转换为https可能可以到托管文件或以https资源自己。这可能需要您复制文件或我认真说的文件,不要盗用您不应该盗用的东西。
  • 解决方案3:重定向这一个可能是最复杂的解决方案做的,但如果你试图访问某个服务的话,你可以把自己的服务重定向它。你在火力点,这意味着你很可能一起砍一些云功能,使一个HTTP请求(How to make an HTTP request in Cloud Functions for Firebase?
  • 解决方案4:不要使用火力地堡不想做任何上述的,你不能住在http呼叫?您可能只需转储Firebase并转移到其他托管服务。

希望你发现这个有用,它可能不是你寻找的答案,但它可能会指出你在正确的方向。

+0

感谢您回答Niles :)只需确认是否可以在Firebase中切换到“http”? – shramee

+0

@shramee不可以。您无法使用firebase使用http托管网站。 Firebase由Google所有,Google正在推动https,因此这种情况不太可能发生变化。我提出的解决方案是您可以解决http源问题的方法。 –

+0

好的,谢谢Niles :) – shramee