【问题标题】:Firebase uses cloudfunctions.net instead of hosting rewrites rulesFirebase 使用 cloudfunctions.net 而不是托管重写规则
【发布时间】:2019-07-05 14:27:43
【问题描述】:

我已经为 firebase.json 中的命名函数设置了重写,但仍然 firebase.functions().httpsCallable() 调用 [my-server].cloudfunctions.net/[function-name] 而不是 [my-server]。 com/

我正在升级一个在 cloudfunctions.net 上运行良好的当前项目,但我想限制被调用的域名,因为某些防火墙阻止了该域。 阅读 the guide 如果认为 firebase.json 中的这个添加就足够了:

"rewrites": [
      {
        "source": "/getResponse",
        "function": "getResponse"
      }]

然后从我的应用程序调用函数:

firebase.functions().httpsCallable('getResponse')

...但这唤起了 [my-server].cloudfunctions.net/getResponse 而不是 [my-server].com/getResponse

在我的浏览器中打开 [my-server].com/getResponse 有效,所以我想,firebase.functions() 上有某种明确的设置,我可以强制它使用自定义域?

感谢您的帮助

【问题讨论】:

    标签: firebase google-cloud-functions


    【解决方案1】:

    无法为可调用函数配置 Firebase 客户端 SDK 以调用函数的默认 URL 以外的任何内容。如果这对你来说很重要,你可以file a feature request

    【讨论】:

    • 谢谢道格。阅读文档时,我认为一旦设置了重写,默认行为将是使用自定义 url。但是,如果 firebase.functions().httpsCallable() 继续使用 cloudfunctions.net URL,除了手动编写 xhr 请求之外,是否无法从本地应用程序调用自定义 URL?
    • 感谢 Doug 的链接,但如果无法从本地应用程序调用自定义 URL,除了手动编写 xhr 请求之外,我看不出它如何回答?
    • 是的,您可以使用协议描述来编写您自己的客户端。但是,如果您要解决这个问题,那么可调用对象可能不适合您,而常规的 http 函数会更合适。
    • 好的,谢谢道格。所以我知道这实际上不支持可调用对象。我已经为此提交了功能请求。
    猜你喜欢
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 2022-06-10
    • 2011-09-30
    • 2018-01-16
    相关资源
    最近更新 更多