如何解决Firebase托管:是否可以重写URL并将部分路径传递给Cloud Run?
我想使用/api
前缀在带Firebase托管的Cloud Run上使用API。这样/api/something
的传入请求就由API /something
处理程序处理。看起来很简单,但我无法弄清楚,所以我想知道Firebase托管是否有可能。
我尝试过的第一件事是:
"rewrites": [
{
"source": "/api","run": {
"serviceId": "my-api","region": "us-central1"
}
}
]
这可以将/api
请求正确路由到服务根/
,但仅通过404调用/api/something
。
第二次尝试使用"source": "/api/**"
或"regex": "/api(/.*)?",
。这样可以正确接收/api/something
之类的请求,但会将其路由到API根/
而不是/something
。
理想情况下,我希望它去掉/api
前缀,或者允许我在路由的url上使用提取的正则表达式组。
谢谢。
解决方法
理想情况下,我希望它去除/ api前缀,或者允许我在路由的url上使用提取的regex组。
那是不可能的。请求的完整URI将始终保留并转发到Cloud Run。您在Cloud Run端上的代码应该能够处理发送到Firebase Hosting的完整路径。如果要删除任何路径前缀,则必须在部署到Cloud Run的代码中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。