Firebase 托管连接到 *europe-west1* 中的云功能
Firebase hosting connect to cloud function in *europe-west1*
我在 Google Cloud Functions (https://europe-west1-myproject-name.cloudfunctions.net/api/v1/ical.ics) 上设置了 api。
这很好用,但我想为 api 设置一个 "friendly" 域名。 :)
根据 Googles documentation 这似乎很容易,但它似乎不适用于美国以外的云功能,例如。欧洲西部1。
我已根据文档使用以下代码更新了 firebase.json
文件。
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "/api/**",
"function": "api"
},
{
"source": "**",
"destination": "/index.html"
}
]
}
访问时https://myproject-name.web.app/api/v1/ical.ics
我被重定向到 https://us-central1-myproject-name.cloudfunctions.net/api/api/v1/cal.ics,出现错误 403 和以下错误消息。
Error: Forbidden
Your client does not have permission to get URL /api/api/ical.ics from this server.
我一定是忽略了一些非常基本的东西,因为这似乎是一个非常简单的操作? :)
亲切的问候
/K
如 documentation 中所述(见蓝色文本块):
If you are using HTTP functions to serve dynamic content for Firebase
Hosting, you must use us-central1.
您还会在关于 "Serve dynamic content and host microservices with Cloud Functions" 的问题中提到的 doc 中找到类似的警告(也请参见蓝色文本块):
Firebase Hosting supports Cloud Functions in us-central1 only.
这并不完全是您正在寻找的答案,因为 Firebase 托管无法实现。
但是可以使用 Cloud Run
在 EU 中托管的云函数前面获取自定义域。
我遵循了本指南:
https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-functions
然后我在 Cloud Run 上的 Manage custom domains
下添加了自定义域。
我在 Google Cloud Functions (https://europe-west1-myproject-name.cloudfunctions.net/api/v1/ical.ics) 上设置了 api。 这很好用,但我想为 api 设置一个 "friendly" 域名。 :)
根据 Googles documentation 这似乎很容易,但它似乎不适用于美国以外的云功能,例如。欧洲西部1。
我已根据文档使用以下代码更新了 firebase.json
文件。
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "/api/**",
"function": "api"
},
{
"source": "**",
"destination": "/index.html"
}
]
}
访问时https://myproject-name.web.app/api/v1/ical.ics 我被重定向到 https://us-central1-myproject-name.cloudfunctions.net/api/api/v1/cal.ics,出现错误 403 和以下错误消息。
Error: Forbidden
Your client does not have permission to get URL /api/api/ical.ics from this server.
我一定是忽略了一些非常基本的东西,因为这似乎是一个非常简单的操作? :)
亲切的问候 /K
如 documentation 中所述(见蓝色文本块):
If you are using HTTP functions to serve dynamic content for Firebase Hosting, you must use us-central1.
您还会在关于 "Serve dynamic content and host microservices with Cloud Functions" 的问题中提到的 doc 中找到类似的警告(也请参见蓝色文本块):
Firebase Hosting supports Cloud Functions in us-central1 only.
这并不完全是您正在寻找的答案,因为 Firebase 托管无法实现。
但是可以使用 Cloud Run
在 EU 中托管的云函数前面获取自定义域。
我遵循了本指南:
https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-functions
然后我在 Cloud Run 上的 Manage custom domains
下添加了自定义域。