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

如何在Google Cloud Run上启用响应自动Gzip压缩功能?

Google Cloud Run 启用gzip压缩的两种方案

你可以根据需求选择原生一键开启或者后端自行实现两种方式:

一、原生一键启用方案(无需修改业务代码)

Google Cloud Run 已经内置了响应压缩能力,直接修改服务配置即可开启:

  • 进入Google Cloud控制台对应Cloud Run服务的详情页面
  • 点击「编辑和部署新修订版本」按钮
  • 切换到「容器、网络、安全」标签页,找到「网络」配置组
  • 勾选「启用响应压缩」选项,完成修订版本的部署即可生效

注意:原生压缩仅对大于1KB、且响应未自带Content-Encoding响应头的内容生效,不会重复压缩后端已经压缩过的响应。

二、NestJS 后端自行实现方案

如果你需要更灵活的压缩规则(比如自定义压缩阈值、指定特定路由开启/关闭、支持brotli压缩等),可以在NestJS中集成压缩中间件:

  1. 首先安装依赖和对应的类型声明包:
npm install compression
npm install -D @types/compression
  1. 在NestJS入口文件(通常为src/main.ts)中注册压缩中间件:
import { NestFactory } from '@nestjs/core';
import compression from 'compression';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  // 注册gzip压缩中间件,可传入配置自定义规则
  app.use(compression({
    threshold: 1024, // 仅压缩体积大于1KB的响应
    filter: (req, res) => {
      // 自定义压缩判断逻辑,返回true代表需要压缩
      return !!req.headers['accept-encoding']?.includes('gzip');
    }
  }));
  await app.listen(process.env.PORT || 3000);
}
bootstrap();

如果同时开启了Cloud Run原生压缩和后端自行实现的压缩,Cloud Run会优先使用后端返回的已压缩响应,不会出现重复压缩的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:06:03