2015-12-30 124 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