【问题标题】:Firebase hosting: Needs SetupFirebase 托管:需要设置
【发布时间】: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 有什么更新?

标签: cloudflare firebase-hosting


【解决方案1】:

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

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

【讨论】:

  • 这件事发生在我身上,您究竟是如何使用 Cloudflare 的当前站点做到这一点的?
  • @MurraySmith 您只需单击每个 DNS 记录旁边行最右侧的云。因此,请确保您的 Firebase URL 的两条 A 记录已切换,也就是它会显示灰云。
  • 那么,这会禁用 cloudflare,我将如何使用它?
  • 我刚试了,这仍然有效!您只需对两个 firebase1._domainkeyfirebase2._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 问题,您必须检查以下几点:

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

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

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

    2. 为确保您拥有端到端加密(使用 firebase ssl 和 cloudflare ssl),请确保您的 cloudflare 加密选项设置为“完整”:

    1. 如果您希望根域接收所有流量,请使用喜欢的页面规则:

    1. 在您的 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”。
          • @SheikhWa​​habMahmood 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 模式对我不起作用。所以我尝试了以下方法,它对我有用。

            1. 添加CNAME记录指向{firebase-project}.firebaseapp.com{firebase-project}.web.app,你可以添加A记录试试。
            2. 添加TXT记录为firebase问你
            3. 从 firebase 验证(这将显示为需要设置,虽然这有效,但它并没有消失)
            4. 如果新域/子域不起作用,请检查您的浏览器开发者工具网络选项卡。如果有很多 301 发生,请转到 cloudflare 页面规则。添加 newdomain.com/*subdomain.newdomain.com/* 然后添加设置选择 SSL 并将其设置为完整,如下所示。

            然后它将按预期工作。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2015-06-14
              • 1970-01-01
              • 2023-03-15
              • 2021-01-29
              • 2017-10-25
              • 1970-01-01
              • 2022-12-16
              相关资源
              最近更新 更多