使用Firebase托管和云功能提供独立内容的多个域?

使用Firebase托管和云功能提供独立内容的多个域?,firebase,google-cloud-functions,firebase-hosting,Firebase,Google Cloud Functions,Firebase Hosting,我正在设计和构建一个web应用程序,用户可以在其中上传一个静态HTML模板文件。我的系统将解析他们的模板,并为他们的个人目的创建JavaScript代码 我希望每个使用都有自己的名称空间,所以理想情况下端点应该是这样的 user1.domain.com/index.html user1.domain.com/code.js user2.domain.com user2.domain.com/code.js ... 不可能以编程方式将静态文件写入Firebase主机,因此我设想使用一个云函数

我正在设计和构建一个web应用程序,用户可以在其中上传一个静态HTML模板文件。我的系统将解析他们的模板,并为他们的个人目的创建JavaScript代码

我希望每个使用都有自己的名称空间,所以理想情况下端点应该是这样的

user1.domain.com/index.html
user1.domain.com/code.js

user2.domain.com
user2.domain.com/code.js

...
不可能以编程方式将静态文件写入Firebase主机,因此我设想使用一个云函数来检查HTTP主机并提供适当的文件。用户1的index.html模板文件将以类似的方式存储在Firebase存储中,存储在其自己的子空间中,用户2的子空间中

最终目标是让我的客户选择的www.userone.com和www.usertwo.com域分别映射到user1.domain.com和user2.domain.com,但我可以使用外部CDN代理请求来实现这一点

为了使上述解决方案能够工作,我需要在每个用户参与我的应用程序时,使用Firebase控制面板手动将域添加到我的Firebase项目中。我预计总共约有200名顾客

我可以使用staging.domain.com/user-{n},然后我只需要为我的Firebase项目配置一个域。然而,这将迫使用户必须在其模板中使用指向其内容的相对链接。此外,他们还可以访问其他用户的内容,即user-1/index.html可以访问../user-2/code.js,这不存在安全风险,但会导致用户更容易出错

有没有办法将主机配置为将*.domain.com映射到单个云函数,或者至少将user1.domain.com、user2。。。手动

如果不是,上述场景能否使用谷歌云基础设施实现?我担心的是,对于可以附加到单个项目的域的数量有一个未记录的限制

有没有办法将主机配置为将*.domain.com映射到单个云函数,或者至少将user1.domain.com、user2。。。手动

您可以将多个域映射到Firebase托管项目。但每个域都将提供完全相同的内容

无法配置Firebase主机为映射到同一项目的不同域提供不同内容

另见:


现在,在一个firebase项目上有多个站点可以提供不同的内容

下面是firebase.json的示例


请访问了解更多信息

现在可以了。一般来说,Firebase主机目前不适合提供多域多租户解决方案。您是否可以将应用程序用于所有/**请求并将/blog转发到blog??
{
  "hosting": [ {
      "target": "blog", // "blog" is the applied target-name for the Hosting site myapp-blog.
      "public": "blog/dist"
    },
    {
      "target": "app", // "app" is the applied target-name for the Hosting site myapp-app.
      "public": "app/dist",
      "rewrites": [...] // You can define specific hosting configurations for each site.
    }
  ]
}