gpt4 book ai didi

firebase - 如何从自定义域提供 firebase 功能?

转载 作者:行者123 更新时间:2023-12-05 02:43:05 24 4
gpt4 key购买 nike

我有一个网站,我已经在使用 google 域的 firebase 托管上运行。我现在想显示通过 url(例如 api.mydomain.com)而不是默认的 firebase 域对我的 firebase 函数进行的所有调用。我怎么可能做到这一点?

我在 hosting cloud functions 上阅读了 firebase 教程,我也遇到了this article关于创建多个站点。那么有人可以告诉我如何设置工作流程,使我的网站仍在 mydomain.com 上运行,但现在通过 api.mydomain.com 调用我的 API 吗?

的目标名称是什么

如果可能,我希望所有请求都显示为对 api.mydomain.com 的请求,而不是对 api.mydomain.com/endpoint 的请求——这样被命中的端点也对公众隐藏

对不起,我是新手。

最佳答案

假设您的主项目的 ID 为 example-app。要作为 api.mydomain.com 提供请求,您必须使用使用 express(或其他类似路由处理程序)的 Cloud Function。

  1. 使用 Firebase CLI 为您的项目创建辅助站点(ID 为 example-app-apiexample-api 等)
firebase hosting:sites:create example-app-api
  1. 将您的托管目标连接到您的资源
firebase target:apply hosting app example-app
firebase target:apply hosting api example-app-api
  1. 修改您的 firebase.json 文件以适应上述目标。
{
"hosting": [
{
// app is linked to example-app, served as mydomain.com
"target": "app",

// contents of this folder are deployed to the site "example-app"
"public": "public",

// ... other settings ...
},
{
// api is linked to example-app-api, served as api.mydomain.com
"target": "api",

// Contents of this folder are deployed to the site "example-app-api"
// Any file here will be returned instead of calling your Cloud Function.
// Recommended contents:
// - favicon.ico (website icon for bookmarks, links, etc)
// - robots.txt (instructions for bots and scrapers)
// Optional contents:
// - service-worker.js (empty file, used to prevent triggering cloud function)
// - humans.txt (details about who you/your company are & how to report bugs)
"public": "api-static-resources",

// ... other settings ...

"rewrites": [
{
// redirect all calls to the function called "api"
"source": "**",
"function": "api"
}
]
}
]
}
  1. 使用 Firebase CLI 部署 api 托管配置
firebase deploy --only hosting:api
  1. 打开 Hosting Settings对于您的项目,单击 example-app-api 的“查看”,然后单击 these instructions 之后的“自定义域” .

  2. 您现在应该能够通过在 api.mydomain.com 调用它来触发您的 Cloud Function。

api.mydomain.com/getPost?id=someId
api.mydomain.com/favicon.ico
api.mydomain.com/robots.txt

关于firebase - 如何从自定义域提供 firebase 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67040405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com