Firebase 托管:需要设置
Posted
技术标签:
【中文标题】Firebase 托管:需要设置【英文标题】:Firebase hosting: Needs Setup 【发布时间】:2018-01-08 07:17:16 【问题描述】:我正在尝试为我的 firebase 应用设置自定义域
Firebase 托管网址:https://inventory-app-726af.firebaseapp.com/ 自定义域:inv.agsft.com
作为设置自定义域的一部分,我已按照所有说明进行操作,但经过验证步骤后,当我点击完成按钮时,状态将始终为“需要设置”。
我正在通过 cloudflare (https://www.cloudflare.com/) 管理 DNS,并且我正在关注快速设置选项。
有什么解决办法吗?
非常感谢 帕里
【问题讨论】:
当我运行dig -t txt +noall +answer inv.agsft.com
时,没有显示TXT
记录。由于这些是验证您对域的所有权所必需的,因此 Firebase 托管将不会在第一步之后继续设置。除此之外:这里没有足够的信息可供 Stack Overflow 上的任何人提供帮助。如果您需要个性化帮助,请reach out to Firebase support。
谢谢。我已更正 TXT 记录。挖 -t txt +noall +answer inv.agsft.com inv.agsft.com。 299 IN TXT "google-site-verification=8uObmfAMZrc29piBvbJnRmyKNhONB3Iom6-qMOT9gHk"
我正在尝试高级设置选项,需要等待 24 小时,我会更新详细信息。
似乎还有其他问题,我已联系 firebase 支持,但尚未收到解决方案。解决后我会用答案更新帖子。
Pari 有什么更新?
【参考方案1】:
我遇到了同样的问题,我可以通过在两条 A 记录上将 cloudflare 上的 DNS 状态从 DNS and HTTP Proxy (CDN)
切换到 DNS
来解决它
它立即开始工作。希望对您有所帮助!
【讨论】:
这件事发生在我身上,您究竟是如何使用 Cloudflare 的当前站点做到这一点的? @MurraySmith 您只需单击每个 DNS 记录旁边行最右侧的云。因此,请确保您的 Firebase URL 的两条 A 记录已切换,也就是它会显示灰云。 那么,这会禁用 cloudflare,我将如何使用它? 我刚试了,这仍然有效!您只需对两个firebase1._domainkey
和 firebase2._domainkey
CNAME 条目执行此操作。用于验证您的域所有权。当然,不要为您的 www
A 记录或类似的东西这样做。
在 Firebase 托管之上是否需要 Cloudflare,这是有争议的【参考方案2】:
正确的解决方案(即不为站点禁用 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 仍会将域报告为“需要设置”,因为我没有解决方案,但它不会影响托管的功能。
【讨论】:
【参考方案3】:对于使用 Namecheap 的人,此配置对我有用。
【讨论】:
这里重要的变化是使用“@”而不是“mysite.com” 使用 @ 对我不起作用,因为 Cloudflare 会自动将其更改为 mysyte.com 是的,这也是 GoDaddy 的解决方案!【参考方案4】:为避免在使用 firebase 托管和 cloudflare 时出现任何类型的 ssl 问题,您必须检查以下几点:
-
您不需要将 cloudflare 上的 DNS 状态从 DNS 和 HTTP 代理 (CDN) 切换到两条 A 记录上的 DNS 除非您不想要 cloudflare ssl 证书而只想使用 firebase ssl 证书(请仔细查看,因为如果您决定只使用 clouflare,将失去 cloudflare 为您的站点提供的保护DNS)
如果您“保持云橙色”,它不会对您的 Firebase 托管造成任何问题。
按照 firebase 托管提供的说明将 firebase IP 添加到 cloudflare,并从您正在设置的域/子域中删除任何其他 A 记录
为确保您拥有端到端加密(使用 firebase ssl 和 cloudflare ssl),请确保您的 cloudflare 加密选项设置为“完整”:
-
如果您希望根域接收所有流量,请使用喜欢的页面规则:
-
在您的 Firebase 托管设置中,执行相同操作:
p.s:请注意“需要设置”的消息仍然存在,但应用程序运行没有任何问题。
p.s2:关于 cloudflare 和 firebase 的主要问题是 firebase ssl 可能需要几个小时才能开始工作,并且您会不断看到诸如“您的连接不是私有的”之类的消息。这不是因为 cloudflare 弄乱了我们的代理,而是因为 firebase ssl 仍未完全传播。
我希望它可以帮助其他人:)
【讨论】:
【参考方案5】:在我的例子中,我做了和 Brennen 一样的事情:
将 cloudflare 上的 DNS 状态从 DNS 和 HTTP 代理 (CDN) 切换为仅在两条 A 记录上的 DNS。但是当我开始工作时:
从 Firebase 中删除域。 (点击:点选择删除域) 刷新 firebase 站点 在快速设置中再次添加。我已经在 Cloudflare 中添加了 A 记录,所以我没有再次添加。之后自动添加的状态为已连接。
记住:在测试之前,请清理您的浏览器缓存。
【讨论】:
【参考方案6】:当我运行dig -t txt +noall +answer inv.agsft.com
时,没有显示 TXT 记录。由于这些是验证您对域的所有权所必需的,因此 Firebase 托管将不会在第一步之后继续设置。
更新:由于下一步需要您将 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
记录,要么 '尚未传播。
【讨论】:
我刚刚运行了 dig 命令并得到了以下结果。挖 -t txt +noall +answer inv.agsft.com inv.agsft.com。 299 IN TXT "google-site-verification=8uObmfAMZrc29piBvbJnRmyKNhONB3Iom6-qMOT9gHk" 好。但是您遇到上面报告的问题的原因是因为缺少TXT
记录。解决该问题后,Firebase 托管应该能够验证您是否拥有该域(可能需要长达 24 小时),然后过渡到下一阶段(添加 A 记录 iirc)。
我添加了一些关于我现在看到的信息。但是由于您还提交了支持案例,我建议您在那里更新,因为他们可以直接在支持系统中看到状态。【参考方案7】:
当我像下面这样更改我的设置时,它又开始工作了。 重定向循环修复:
【讨论】:
【参考方案8】:对于 GoDaddy,添加以下内容为我解决了这个问题:
类型:A
姓名:@
VALUE:您的 ip_1
类型:A
姓名:@
VALUE:您的 ip_2
【讨论】:
我这样做了,但仍然显示“需要设置”。知道为什么吗? *已解决:我必须从 GoDaddy DNS 管理中删除旧的“A”。 @SheikhWahabMahmood 2 域可以添加 firebase 托管吗?不是子域,example1.com example2.com 及其重定向【参考方案9】:2020 年 6 月
只是想分享对我来说成功的事情。这是 Brennen 和 Lisbel 的答案。
第 1 步:关闭您的 DNS 状态以获得灰色云(如之前的答案所示)
第 2 步:从 firebase 中删除域
第 3 步:使用 Quick Steup 重新添加
完成这些步骤后应该可以连接了!
【讨论】:
您这样做是否删除了您网站的域和重定向域 (http->https)?我基本上有四个域。 另外,当重新添加域时,您是切换 cloudflare 上的橙色云代理设置还是让它变灰?【参考方案10】:我遇到了同样的问题。这是我修复它的方法:
1) 在有问题的域上单击“查看”按钮(在“需要设置”旁边的“托管”部分)。
2) 将“设置模式”从“快速设置”更改为“高级”,然后按照 3 个步骤进行操作
2a) 打开您的域名提供商的设置(我使用的是 Google Domains)并添加它提供给您的 TXT 记录。 2b) 等待大约 4-12 小时进行验证 2c) 将提供的 A 记录添加到您的域提供商的设置中这不是一个快速的过程,但它应该在您完成第 2c 步后大约 5 分钟开始工作。
【讨论】:
【参考方案11】:切换 DNS 模式对我不起作用。所以我尝试了以下方法,它对我有用。
-
添加
CNAME
记录指向firebase-project.firebaseapp.com
或firebase-project.web.app
,你可以添加A
记录试试。
添加TXT
记录为firebase问你
从 firebase 验证(这将显示为需要设置,虽然这有效,但它并没有消失)
如果新域/子域不起作用,请检查您的浏览器开发者工具网络选项卡。如果有很多 301 发生,请转到 cloudflare 页面规则。添加 newdomain.com/*
或 subdomain.newdomain.com/*
然后添加设置选择 SSL 并将其设置为完整,如下所示。
然后它将按预期工作。
【讨论】:
以上是关于Firebase 托管:需要设置的主要内容,如果未能解决你的问题,请参考以下文章
将 .well-known/assetlinks.json 上传到 Mac 上的 Firebase 托管
Firebase 托管:我们无法验证您的域 example.com。请检查您的设置并重试[关闭]