Firebase托管:需要设置

时间:2017-08-01 12:15:21

标签: cloudflare firebase-hosting

我正在尝试为我的firebase应用设置自定义域

Firebase托管网址:https://inventory-app-726af.firebaseapp.com/ 自定义域名:inv.agsft.com

我已将所有说明作为设置自定义域的一部分,但在点击完成按钮后验证步骤后,状态将始终为“需要设置”。

我通过cloudflare(https://www.cloudflare.com/)管理DNS,我正在关注快速设置选项。

任何解决它的指针?

非常感谢 彩

11 个答案:

答案 0 :(得分:18)

我遇到了同样的问题,我可以通过在两条A记录上将云台上的DNS状态从DNS and HTTP Proxy (CDN)切换到DNS来解决问题

enter image description here

它立即开始工作。希望有所帮助!

答案 1 :(得分:15)

正确的解决方案,即不为网站禁用Cloudflare,就是为您的域/子域使用完整SSL。

您可以为所有域条目选择完整SSL,也可以为特定子域设置页面规则,在您的情况下,请使用“inv.agsft.com / *”

来源:https://community.cloudflare.com/t/flexible-ssl-redirect-loop-with-google-firebase/2063/3,反过来指向https://support.cloudflare.com/hc/en-us/articles/115000219871-Why-does-Flexible-SSL-cause-a-redirect-loop-

有同样的问题,这解决了重定向问题。但是,Firebase仍会将域报告为“需要设置”,因为我没有解决方案,但它不会影响托管的功能。

答案 2 :(得分:2)

当我运行dig -t txt +noall +answer inv.agsft.com时,没有显示TXT记录。由于需要验证您对域名的所有权,因此Firebase Hosting不会继续执行第一步之外的设置。

更新:由于下一步要求您将A记录映射到Firebase托管的IP地址,因此我也运行了相关的dig

$ dig -t a +noall +answer inv.agsft.com
inv.agsft.com.      299 IN  A   104.18.56.240
inv.agsft.com.      299 IN  A   104.18.57.240

这些不是我对Firebase托管所期望的地址,因此看起来 您还没有正确输入A记录,他们还没有传播。

答案 3 :(得分:2)

当我更改下面的设置时,它又开始工作了。 修正了重定向循环:

enter image description here

答案 4 :(得分:2)

为避免使用 firebase托管和cloudflare 时出现任何形式的ssl问题,您必须检查以下几点:

  1. 不需要 将cloudflare上的DNS状态从DNS和HTTP代理(CDN)切换到两个A记录上的DNS ,除非您不想使用cloudflare ssl证书,而只想使用firebase ssl证书(请仔细阅读,因为如果您决定仅使用clouflare,您将会失去cloudflare提供给您网站的保护DNS

enter image description here

如果您“保持云橙色”不会对Firebase托管造成任何问题。

  1. 按照firebase托管提供的说明将firebase IP添加到cloudflare,并从您要设置的域/子域中删除任何其他A记录

  2. 为确保您具有端到端加密(同时使用 firebase ssl和cloudflare ssl ),请确保将cloudflare加密选项设置为“完全”:

enter image description here

  1. 使用分页规则,例如,如果您希望根域接收所有流量:

enter image description here

  1. 在您的Firebase托管设置中,执行以下操作: enter image description here

p.s:看到消息“ 需要设置”仍然存在,但是应用程序运行正常。

p.s2:关于cloudflare和firebase的主要问题是,firebase ssl可能需要花费几个小时才能开始工作,并且您不断看到诸如“您的连接不是私有”之类的消息。发生这种情况不是因为beucase cloudflare将我们的代理弄乱了,而是因为firebase ssl仍然没有完全传播。

我希望它可以帮助其他人:)

答案 5 :(得分:1)

2020年6月

只想分享对我来说成功的事。这是Brennen和Lisbel的回答。

第1步:切换您的DNS状态以获取灰色云朵(如先前的答案所示)

第2步:从Firebase中删除域

第3步:使用Quick Steup重新添加

在执行这些步骤后,应将其连接!

答案 6 :(得分:1)

对于 GoDaddy,添加以下内容为我解决了这个问题:

类型:A

姓名:@

VALUE:您的 ip_1

类型:A

姓名:@

VALUE:您的 ip_2

答案 7 :(得分:0)

我有同样的问题。以下是我修复它的方法:

1)点击有问题的域上的“查看”按钮(位于“需要安装”旁边的“主机”部分)。

2)更改“设置”模式'从快速设置到高级,并按照3个步骤

  • 2a)打开您的域名提供商的设置(我使用Google Domains)并添加它给您的TXT记录。
  • 2b)等待约4-12小时进行验证
  • 2c)将提供的A记录添加到域名提供商的设置中

这不是一个快速的过程,但它应该在您完成步骤2c后约5分钟工作。

答案 8 :(得分:0)

就我而言,我做的事情与Brennen一样:

  • 将cloudflare上的DNS状态从DNS和HTTP代理(CDN)切换到两个A记录上的DNS。

但是当我:

  • 从Firebase删除域。 (点击:点,选择删除域)
  • 刷新Firebase网站
  • 在“快速设置”中再次添加。我已经在Cloudflare中添加了A记录,因此没有再次添加。

之后,将自动连接添加的状态。

记住:在测试之前,请清理浏览器缓存。

答案 9 :(得分:0)

对于使用Namecheap的人员,此配置对我有用。

Namecheap configuration

答案 10 :(得分:0)

切换DNS模式对我不起作用。所以我尝试了以下方法,并且对我有用。

  1. 添加指向CNAME{firebase-project}.firebaseapp.com的{​​{1}}记录,您可以添加{firebase-project}.web.app记录并尝试。
  2. A添加为Firebase询问您
  3. 从firebase进行验证(这将显示为需求设置,虽然可行,但也没有消失)
  4. 如果新域/子域不起作用,请检查您的浏览器开发者工具的“网络”标签。如果发生大量301,请转到cloudflare页面规则。添加TXTnewdomain.com/*,然后添加设置,选择SSL并将其设置为完全,如下所示。

enter image description here

然后它将按预期工作。