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

如何使用Apache APISIX v3.8.0限制文件上传大小?

在Apache APISIX v3.8.0中实现文件上传大小限制

你可以使用APISIX内置的limit-body插件来实现文件上传大小限制,这个插件专门用于限制请求体的最大尺寸,完全适配文件上传场景。

配置步骤

  1. 创建或更新目标路由
    针对你的/file/upload/abcd.png路径,在路由中启用limit-body插件,示例配置如下(以APISIX Admin API调用为例):
curl http://127.0.0.1:9180/apisix/admin/routes/1 \
-H 'X-API-KEY: your-api-key' \
-X PUT -d '{
    "uri": "/file/upload/abcd.png",
    "plugins": {
        "limit-body": {
            "max_body_size": 10485760,  # 限制为10MB,单位是字节
            "allow_decompression": false  # 若上传文件是压缩格式,可设为true解压后检查大小,文件上传通常无需开启
        }
    },
    "upstream": {
        "type": "roundrobin",
        "nodes": {
            "your-upstream-server:port": 1
        }
    }
}'
  1. 参数说明
  • max_body_size: 必填,设置允许的请求体最大字节数,比如10MB对应10*1024*1024=10485760。
  • allow_decompression: 可选,默认false,若开启,APISIX会先解压gzip/deflate格式的请求体再检查大小,适合压缩后的文件上传场景。
  1. 验证效果
    当上传文件大小超过设置的max_body_size时,APISIX会直接返回413 Request Entity Too Large状态码,拒绝该请求。

注意事项

  • v3.8.0版本的APISIX默认已内置limit-body插件,无需额外安装。
  • 如果需要对域名下所有上传路径统一限制,可将插件配置在global_rule或service级别,而非单独路由。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 07:14:54