You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过命令行设置Firebase Functions的security-level为secure-always

解决方案

方案1:部署后通过gcloud命令直接修改安全等级

你用Firebase CLI部署的函数本质是标准GCP Cloud Function,只要你本地gcloud CLI已登录对应GCP项目,直接执行以下命令即可更新安全等级,不需要重新走Firebase部署流程:

gcloud functions update FUNCTION_NAME --security-level=secure-always

该命令仅修改函数运行配置,不会覆盖已部署的函数代码,也不需要调整当前Firebase项目的目录结构。

方案2:部署前通过Firebase配置指定安全等级(推荐)

有两种配置方式可选,部署后自动生效,不需要后续额外操作:

方式A:在函数代码中指定单函数的安全等级

在Node.js函数定义中添加runWith配置项即可:

exports.yourFunctionName = functions.runWith({
  httpsTrigger: {
    securityLevel: "SECURE_ALWAYS"
  }
}).https.onRequest((req, res) => {
  // 原有函数逻辑
});

方式B:在firebase.json中全局配置所有HTTP函数的安全等级

修改项目根目录的firebase.json文件,在functions节点下添加配置:

{
  "functions": {
    "source": "functions",
    "httpsTrigger": {
      "securityLevel": "SECURE_ALWAYS"
    }
  }
}

配置完成后正常执行firebase deploy --only functions:FUNCTION_NAME部署即可。

备选方案:代码层校验HTTPS请求

如果上述配置方式不适用,可以在函数逻辑开头校验请求头,拒绝HTTP请求:

// 只允许HTTPS请求访问
if (req.get('X-Forwarded-Proto') !== 'https') {
  return res.status(403).send('仅支持HTTPS访问');
}

内容的提问来源于stack exchange,提问作者Alex Williams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 10:15:03