Firebase托管连接到 * europe-west 1 * 中的云功能

dwthyt8l  于 2023-05-07  发布在  其他
关注(0)|答案(2)|浏览(183)

我在Google Cloud Functions(https://europe-west1-myproject-name.cloudfunctions.net/api/v1/ical.ics)上设置了一个API。这工作得很好,但我希望为API设置一个“友好”的域名。:)
根据谷歌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

j8ag8udp

j8ag8udp1#

如文档中所述(见蓝色文本框):
如果您使用HTTP函数为Firebase Hosting提供动态内容,则必须使用us-central 1
您还可以在您关于“使用云函数提供动态内容和托管微服务”的问题中提到的doc中找到类似的警告(也请参见蓝色文本块):
Firebase Hosting仅支持us-central 1中的云功能。

ecbunoof

ecbunoof2#

这并不是你想要的答案,因为Firebase Hosting不可能。但是,可以通过使用Cloud Run在托管在欧盟的云功能之前获得自定义域。我遵循了这个指南:https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-functions
在此之后,我在Cloud Run上的Manage custom domains下添加了自定义域。

相关问题