Firebase HTTPS onCall函数CORS问题求助
解决CORS预检重定向错误
问题根源
你的函数部署在europe-central2区域,但调用时用了us-central1的URL,Firebase会自动重定向请求到正确的区域域名,但浏览器的OPTIONS预检请求不允许重定向,因此触发CORS错误。
解决方法
- 修正调用URL的区域标识:把请求URL中的
us-central1替换为europe-central2,即使用https://europe-central2-myapp.cloudfunctions.net/myFunction发起请求。 - 使用Firebase SDK自动处理路径:如果你用Firebase Functions客户端SDK调用,直接用
functions.httpsCallable('myFunction')即可,SDK会自动匹配函数所在区域并生成正确的请求地址,无需手动拼接全URL,从根源避免区域不匹配导致的重定向。 - 本地开发用模拟器:本地调试时启动Firebase模拟器
firebase emulators:start,模拟器会自动处理CORS规则,同时不会产生跨区域重定向问题,更适合本地测试。
内容的提问来源于stack exchange,提问作者iohn
相关产品推荐
相关产品推荐

