Firebase 托管重写为 Cloud Functions
Firebase Hosting rewrites to Cloud Functions
我想重写所有以“api/(funcName)”结尾的URL来调用云函数(funcName)。
在firebase.json中我设置重写规则如下。
"rewrites": [
{
"source": "api/:funcName",
"function": ":funcName"
},
{
"source": "**",
"destination": "/index.html"
}
]
但它不起作用。
我得到了
Error: Forbidden
Your client does not have permission to get URL /:funcName/api/(funcName) from this server.
(funcName) 是我不想在这里显示的真实函数名称。
我不太确定您是如何抛出该错误消息的,但据我所知,该错误消息来自 Cloud Functions,或者来自 Firebase 托管和您的 Cloud Functions 之间的某些内容。
鉴于错误消息的来源,Firebase 托管将无法为响应隐藏它。
您的重写应该包括函数的确切名称。重写系统不支持命名通配符路由,就像您在 Express 中使用的那样。如果要使用前缀通配所有 URL,请按照文档中的说明使用 glob syntax supported by Firebase Hosting。
{
"source": "api/**",
"function": "funcName"
},
其中 "funcName" 是您的代码导出的函数的名称。
我想重写所有以“api/(funcName)”结尾的URL来调用云函数(funcName)。
在firebase.json中我设置重写规则如下。
"rewrites": [
{
"source": "api/:funcName",
"function": ":funcName"
},
{
"source": "**",
"destination": "/index.html"
}
]
但它不起作用。
我得到了
Error: Forbidden
Your client does not have permission to get URL /:funcName/api/(funcName) from this server.
(funcName) 是我不想在这里显示的真实函数名称。
我不太确定您是如何抛出该错误消息的,但据我所知,该错误消息来自 Cloud Functions,或者来自 Firebase 托管和您的 Cloud Functions 之间的某些内容。
鉴于错误消息的来源,Firebase 托管将无法为响应隐藏它。
您的重写应该包括函数的确切名称。重写系统不支持命名通配符路由,就像您在 Express 中使用的那样。如果要使用前缀通配所有 URL,请按照文档中的说明使用 glob syntax supported by Firebase Hosting。
{
"source": "api/**",
"function": "funcName"
},
其中 "funcName" 是您的代码导出的函数的名称。