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

如何用Serverless/CloudFormation开启API Gateway HTTP API压缩?

解决HTTP API的API Gateway压缩配置问题

你之前的配置无效,核心原因是provider.apiGateway.minimumCompressionSize是REST API专属配置项,而你的服务使用的是HTTP API(通过events.httpApi定义端点),该配置不会对HTTP API生效。以下是两种可行的解决方案:

方案一:通过Serverless框架HTTP API配置直接设置

若你的Serverless框架为v3及以上版本,可直接在provider块下添加httpApi配置,指定压缩阈值:

provider:
  name: aws
  httpApi:
    minimumCompressionSize: 1 # 响应体大小超过1字节即触发压缩

方案二:自定义CloudFormation资源配置

如果方案一不生效(比如使用旧版本Serverless),可以通过自定义CloudFormation资源覆盖HTTP API的压缩设置:

resources:
  Resources:
    HttpApi:
      Type: AWS::ApiGatewayV2::Api
      Properties:
        Name: ${self:service}-${self:stage} # 保持与自动生成的API名称一致
        ProtocolType: HTTP
        MinimumCompressionSize: 1 # 开启压缩,阈值设为1字节

验证前的关键修正

你之前的curl命令使用了POST方法,但你的端点配置的是GET,导致返回404,无法正常验证压缩。请使用正确的请求方法测试:

curl -X GET -sILH 'Accept-Encoding: gzip, deflate' https://example.com/v1/dummy

若压缩生效,响应头会出现Content-Encoding: gzip(或deflate),同时Content-Length会比原始响应体尺寸更小。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 00:42:47