gpt4 book ai didi

firebase - 由于 CORS 限制,无法使用 firebase 进行本地测试

转载 作者:行者123 更新时间:2023-12-03 06:44:35 25 4
gpt4 key购买 nike

我当前的用例很简单,我只需要向我本地开发的云函数发出post请求。

问题是,当我开火时

firebase serve

托管部署在localhost:5000

云函数部署在localhost:5001

这两个来源不同,因为端口不同。因此,当浏览器发送初始预检请求时,它会失败并显示错误消息

Failed to load http://localhost:5001/projectname/region/sendEnquiry: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:5000' is therefore not allowed access.

如何设置 header 以在本地进行测试?(同样,我不是专业人士,我猜当我决定在生产中部署时,我将具有相同的起源。如果没有,无论如何我仍然需要解决方案)

谢谢。

最佳答案

Google 限制某些调用,但您可以为 Firebase 项目配置 CORS。通过非常困惑的文档很难找到如何做到这一点,我花了一段时间才找到正确的方法。

请按照以下步骤操作:

  1. 前往 console.cloud.google.com
  2. 在左上角选择您的 Firebase 项目
  3. 点击左上角的终端图标(看起来像 >_)
  4. 在打开的终端中,点击三点图标并选择“上传文件”
  5. 上传一个名为 cors.json 的文件,其中包含以下内容:
[
{
"origin": ["*"],
"method": ["GET"],
"maxAgeSeconds": 3600
}
]
  • 在终端中,运行以下命令:gsutil cors set cors.json gs://yourbucketname.appspot.com(更改网址)
  • 这允许来自其他来源的任何 GET 请求。

    关于firebase - 由于 CORS 限制,无法使用 firebase 进行本地测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49856240/

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