Firebase 托管:需要为 Cloudflare DNS 设置
Firebase Hosting: Needs Setup For Cloudflare DNS
我正在尝试为我的 Firebase 应用设置自定义域。
Firebase 托管 url: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 托管不会在第一步之后继续设置。
更新:由于下一步需要您将 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
记录,或他们还没有传播。
我有同样的问题,我能够通过将 cloudflare 上的 DNS 状态从 DNS and HTTP Proxy (CDN)
切换到两个 A 记录上的 DNS
来解决它
它立即开始工作。希望对您有所帮助!
正确的解决方案,即不为网站禁用 Cloudflare,是为您的 domain/subdomain 使用 Full SSL。
您可以为所有域条目选择完全 SSL,或为特定子域设置页面规则,在您的情况下,使用 "inv.agsft.com/*"
来源:https://community.cloudflare.com/t/flexible-ssl-redirect-loop-with-google-firebase/2063/3, which in turn points to https://support.cloudflare.com/hc/en-us/articles/115000219871-Why-does-Flexible-SSL-cause-a-redirect-loop-
有同样的问题,这解决了重定向问题。然而,Firebase 仍会将域报告为 "Needs setup",对此我没有解决方案,但这不会影响托管的功能。
当我像下面这样更改我的设置时,它又开始工作了。
重定向循环已修复:
我遇到了同样的问题。这是我修复它的方法:
1) 单击有问题的域上的“查看”按钮(在“需要设置”旁边的“托管”部分)。
2) 将 'Setup mode' 从快速设置更改为高级,然后按照 3 个步骤进行操作
- 2a) 打开您的域提供商的设置(我正在使用 Google 域)并添加它给您的 TXT 记录。
- 2b) 等待验证大约4-12小时
- 2c) 将提供的 A 记录添加到域名提供商的设置中
这不是一个快速的过程,但它应该会在您完成步骤 2c 后大约 5 分钟内起作用。
在我的例子中,我做了和 Brennen 一样的事情:
- 将 cloudflare 上的 DNS 状态从 DNS 和 HTTP 代理 (CDN) 切换到两个 A 记录上的 DNS。
但是当我开始工作时:
- 从 firebase 中删除域。 (点击:点select删除域名)
- 刷新 Firebase 网站
- 在快速设置中再次添加。我已经在 Cloudflare 中添加了 A 记录,所以我没有再次添加。
之后自动添加的状态是connected。
记住:在测试之前,清理浏览器缓存。
为避免在使用 firebase 托管和 cloudflare 时出现任何类型的 ssl 问题,您必须检查以下几点:
- 您不需要 将 cloudflare 上的 DNS 状态从 DNS 和 HTTP 代理 (CDN) 切换到两个 A 记录上的 DNS 除非您不想要 cloudflare ssl 证书并且只想使用 firebase ssl 证书(请仔细查看,因为您 将失去 cloudflare 的保护提供给您的站点以防您决定仅使用 clouflare DNS)
如果您 "keep the cloud orange" 它不会对您的 firebase 托管造成任何问题。
按照 firebase 托管提供的说明将 firebase IP 添加到 cloudflare,并从您正在设置的 domain/subdomain 中删除任何其他 A 记录
为确保您拥有端到端加密(使用 firebase ssl 和 cloudflare ssl),请确保您的 cloudflare 加密选项设置为 "Full":
- 如果您希望根域接收所有流量,请使用喜欢的页面规则:
- 在您的 firebase 托管设置中,执行相同的操作:
p.s:看消息“需要设置”仍然存在,但应用 运行 没有任何问题。
p.s2:关于 cloudflare 和 firebase 的主要问题是 firebase ssl 可能需要几个小时才能开始工作,并且您不断看到 "your connection is not private" 之类的消息。发生这种情况并不是因为 cloudflare 弄乱了我们的代理,而是因为 firebase ssl 仍未完全传播。
希望对其他人有所帮助:)
对于使用 Namecheap 的人来说,此配置对我有用。
2020 年 6 月
只是想分享对我来说成功的事情。这是 Brennen 和 Lisbel 的综合回答。
第 1 步:关闭您的 DNS 状态以获得灰色云(如之前的答案所示)
第 2 步:从 firebase 中删除域
第 3 步:使用 Quick Steup 将其添加回来
完成这些步骤后应该可以连接了!
切换 DNS 模式对我不起作用。所以我尝试了以下方法,它对我有用。
- 添加指向
{firebase-project}.firebaseapp.com
或{firebase-project}.web.app
的CNAME
记录,您可以添加A
记录并尝试。
- 添加
TXT
记录为 firebase 问你
- 从 firebase 验证(这将显示为需要设置,尽管它有效但它并没有消失)
- 如果新 domain/subdomain 不起作用,请检查您的浏览器开发人员工具网络选项卡。如果发生很多 301,请转到 cloudflare 页面规则。添加
newdomain.com/*
或 subdomain.newdomain.com/*
然后添加设置 select SSL 并将其设置为完整,如下所示。
然后它将按预期工作。
对于 GoDaddy,添加以下内容为我解决了问题:
类型:A
姓名:@
VALUE:你的ip_1
类型:A
姓名:@
VALUE:你的ip_2
自 2022 年 5 月 11 日起工作,无需切换 DNS 和 HTTP 代理 (CDN)。
步骤:
- 转到 Cloudflare 仪表板。
- Select SSL/TLS.
- Select概览。
- Select Full SSL/TLS 加密模式选项.
- 之后,刷新您之前无法访问的网站。
- 现在网站可以访问成功了
我正在尝试为我的 Firebase 应用设置自定义域。
Firebase 托管 url: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 托管不会在第一步之后继续设置。
更新:由于下一步需要您将 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
记录,或他们还没有传播。
我有同样的问题,我能够通过将 cloudflare 上的 DNS 状态从 DNS and HTTP Proxy (CDN)
切换到两个 A 记录上的 DNS
来解决它
它立即开始工作。希望对您有所帮助!
正确的解决方案,即不为网站禁用 Cloudflare,是为您的 domain/subdomain 使用 Full SSL。
您可以为所有域条目选择完全 SSL,或为特定子域设置页面规则,在您的情况下,使用 "inv.agsft.com/*"
来源:https://community.cloudflare.com/t/flexible-ssl-redirect-loop-with-google-firebase/2063/3, which in turn points to https://support.cloudflare.com/hc/en-us/articles/115000219871-Why-does-Flexible-SSL-cause-a-redirect-loop-
有同样的问题,这解决了重定向问题。然而,Firebase 仍会将域报告为 "Needs setup",对此我没有解决方案,但这不会影响托管的功能。
当我像下面这样更改我的设置时,它又开始工作了。 重定向循环已修复:
我遇到了同样的问题。这是我修复它的方法:
1) 单击有问题的域上的“查看”按钮(在“需要设置”旁边的“托管”部分)。
2) 将 'Setup mode' 从快速设置更改为高级,然后按照 3 个步骤进行操作
- 2a) 打开您的域提供商的设置(我正在使用 Google 域)并添加它给您的 TXT 记录。
- 2b) 等待验证大约4-12小时
- 2c) 将提供的 A 记录添加到域名提供商的设置中
这不是一个快速的过程,但它应该会在您完成步骤 2c 后大约 5 分钟内起作用。
在我的例子中,我做了和 Brennen 一样的事情:
- 将 cloudflare 上的 DNS 状态从 DNS 和 HTTP 代理 (CDN) 切换到两个 A 记录上的 DNS。
但是当我开始工作时:
- 从 firebase 中删除域。 (点击:点select删除域名)
- 刷新 Firebase 网站
- 在快速设置中再次添加。我已经在 Cloudflare 中添加了 A 记录,所以我没有再次添加。
之后自动添加的状态是connected。
记住:在测试之前,清理浏览器缓存。
为避免在使用 firebase 托管和 cloudflare 时出现任何类型的 ssl 问题,您必须检查以下几点:
- 您不需要 将 cloudflare 上的 DNS 状态从 DNS 和 HTTP 代理 (CDN) 切换到两个 A 记录上的 DNS 除非您不想要 cloudflare ssl 证书并且只想使用 firebase ssl 证书(请仔细查看,因为您 将失去 cloudflare 的保护提供给您的站点以防您决定仅使用 clouflare DNS)
如果您 "keep the cloud orange" 它不会对您的 firebase 托管造成任何问题。
按照 firebase 托管提供的说明将 firebase IP 添加到 cloudflare,并从您正在设置的 domain/subdomain 中删除任何其他 A 记录
为确保您拥有端到端加密(使用 firebase ssl 和 cloudflare ssl),请确保您的 cloudflare 加密选项设置为 "Full":
- 如果您希望根域接收所有流量,请使用喜欢的页面规则:
- 在您的 firebase 托管设置中,执行相同的操作:
p.s:看消息“需要设置”仍然存在,但应用 运行 没有任何问题。
p.s2:关于 cloudflare 和 firebase 的主要问题是 firebase ssl 可能需要几个小时才能开始工作,并且您不断看到 "your connection is not private" 之类的消息。发生这种情况并不是因为 cloudflare 弄乱了我们的代理,而是因为 firebase ssl 仍未完全传播。
希望对其他人有所帮助:)
对于使用 Namecheap 的人来说,此配置对我有用。
2020 年 6 月
只是想分享对我来说成功的事情。这是 Brennen 和 Lisbel 的综合回答。
第 1 步:关闭您的 DNS 状态以获得灰色云(如之前的答案所示)
第 2 步:从 firebase 中删除域
第 3 步:使用 Quick Steup 将其添加回来
完成这些步骤后应该可以连接了!
切换 DNS 模式对我不起作用。所以我尝试了以下方法,它对我有用。
- 添加指向
{firebase-project}.firebaseapp.com
或{firebase-project}.web.app
的CNAME
记录,您可以添加A
记录并尝试。 - 添加
TXT
记录为 firebase 问你 - 从 firebase 验证(这将显示为需要设置,尽管它有效但它并没有消失)
- 如果新 domain/subdomain 不起作用,请检查您的浏览器开发人员工具网络选项卡。如果发生很多 301,请转到 cloudflare 页面规则。添加
newdomain.com/*
或subdomain.newdomain.com/*
然后添加设置 select SSL 并将其设置为完整,如下所示。
然后它将按预期工作。
对于 GoDaddy,添加以下内容为我解决了问题:
类型:A
姓名:@
VALUE:你的ip_1
类型:A
姓名:@
VALUE:你的ip_2
自 2022 年 5 月 11 日起工作,无需切换 DNS 和 HTTP 代理 (CDN)。
步骤:
- 转到 Cloudflare 仪表板。
- Select SSL/TLS.
- Select概览。
- Select Full SSL/TLS 加密模式选项.
- 之后,刷新您之前无法访问的网站。
- 现在网站可以访问成功了