Firebase 函数 return 404

Firebase functions return 404

我正在尝试为 Firebase 函数设置自定义域。 自定义域已经过验证并且可以正常工作。 我的 firebase 在 us-central1:

下运行 运行

这是我的 login 函数代码:

const functions = require("firebase-functions");
const express = require(`express`);
const cors = require(`cors`);
const admin = require(`firebase-admin`);
admin.initializeApp();

const firestore = admin.firestore();
const appLogin = express();
appLogin.use(cors({origin:true}));

appLogin.post("/", async(req:Request, res:Response)=>{
    functions.logger.log(`received`);
    const body = req.body;
    functions.logger.log(body);
    const result = await firestore.collection(DbCollections.USER).add(body);
    return res.status(201).send(JSON.stringify({"user_id":result.id}));
}); 


exports.login = functions.https.onRequest(appLogin);

没什么特别的...

因此,当我在 postman 中使用屏幕截图中的 url - 它工作正常。 但我想像下一个一样使用自定义域:

https://mydomai.com/api/login

这是我的 firebase.json 托管部分:

  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "/api/login",
        "function": "login"
      }
    ]
  }

但是当我尝试使用自定义域访问 login - 它 returns 我 404 没有任何有价值的错误消息:

有什么想法吗?

重写的 source 不会从函数调用中的 URL 中删除,因此您可能希望将 appLogin.post("/", ...) 更改为 appLogin.post("/api/login/", ...)