Firebase 默认托管域:仅 .firebaseapp.com 有效,但 .web.app 失败

Sab*_*eur 13 firebase typescript reactjs firebase-hosting

我正在使用打字稿构建一个非常简单的单页反应应用程序。我尝试使用 Firebase 托管来托管它。令人惊讶的是,只有域[name].firebaseapp.com有效,但[name].web.app显示“未找到站点”默认页面:

未找到站点图像

我正在使用基本的 firebase 配置(您使用的默认配置firebase init):

{
  "hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

当我继续[name].web.app时,我收到“未找到网站”的信息。我本来怀疑 、重写、构建文件夹等有问题index.html...但是为什么我会看到该页面在[name].firebaseapp.com上正常运行并且托管得很好,而且应该如此?

我怀疑有几件事:

  • Firebase 本身无法提供域名(尽管如果创建项目时就是这种情况,为什么 Firebase 会将域名命名为无效的名称)
  • 这些文件仅被推送到[name].firebaseapp.com域(在这种情况下,您如何控制它?)

mig*_*mon 11

这个周末我也遇到了同样奇怪的问题。确切症状:

  • 在任何部署之前,我打开example.web.app但没有example.firebaseapp.com
  • 第一次部署后,example.web.app显示“未找到站点”,但example.firebaseapp.com按预期工作。因此,我的客户域也显示“未找到网站”。

根据支持人员的建议之一,现在通过以下命令修复:

curl -X PURGE https://your.notworking.url
Run Code Online (Sandbox Code Playgroud)

就我而言,它只是example.web.app我的自定义域。20秒内就解决了。


无效的建议:

  • 扰乱浏览器(清除浏览器缓存、隐身模式等)
  • 重新部署

解释:

未找到站点的内容已缓存在其 CDN 服务器上。所以自然地,清除本地浏览器缓存是行不通的。奇怪的是,重新部署也不起作用。

另一个有用的注释是,响应中有一个x-served-by标头,它告诉您缓存 Web 应用程序的 CDN 服务器。

特别感谢Firebase 支持部门的Hugo Varela 。


Sab*_*eur 9

更新:

我给 firebase 的客户支持发送了电子邮件,第二天该域就正常工作了。没有解释为什么会出现问题,但给他们发电子邮件解决了问题。