我一直在尝试将我的网站从divshot迁移到firebase,因为firebase已经接管了divshot并将其关闭.
我是一个简单的只读站点,不需要https.它还包含指向不支持https的外部站点的链接.该网站完美的divshot,但它看起来像firebase强制所有网站使用https.不幸的是,这会导致我的网站引用的外部网站加载失败.错误是:
混合内容:" https://mysite.firebaseapp.com/ "上的页面是通过HTTPS加载的,但请求了一个不安全的资源" http://www.externalsite.com/ ".此请求已被阻止; 内容必须通过HTTPS提供.
我试图删除http:所以外部网站只是//www.externalsite.com/,但这会导致证书错误.我无法将其更改为https,因为此外部网站不支持它.
有没有解决这个问题的方法?
最简洁的答案是不.这完全是设计上的.在https网站上允许http是一个安全漏洞.因此它被阻止了.
然而,
解决方案1:查找资源的https版本在您的情况下可能无法实现.
解决方案2:将资源转换为https可以使用https自行托管文件或资源.这可能要求你复制一个文件或其他内容,我谨慎地说,不要盗用你不应该的内容.
解决方案3:重定向这可能是最复杂的解决方案,但如果您尝试访问某些服务,那么您可以创建自己的服务来重定向它.你在firebase上,这意味着你可能会破解一些云功能来发出一个http请求(如何在Cloud Functions for Firebase中发出HTTP请求?)
解决方案4:不要使用Firebase不想做上述任何一项,你不能忍受http呼叫?您可能只是转储firebase并转移到其他托管服务.
希望你发现这有用它可能不是你想要的答案,但它可能会指向你正确的方向.