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

Flask+Werkzeug+Gunicorn环境下413请求实体过大问题求助

解决Flask+Gunicorn提交大表单返回413的问题

1. 补充Gunicorn的请求体大小限制参数

你当前的Gunicorn命令仅设置了请求行和请求字段大小的限制,但Gunicorn默认请求体大小限制为1MB,即便表单实际大小是800KB,加上表单编码的额外开销可能刚好触碰到阈值。需要添加--limit-request-body参数,设置和Flask一致的5MB限制:

gunicorn --log-level debug --timeout 300 --limit-request-line 0 --limit-request-field_size 0 --limit-request-body 5242880 --workers 1 -b 0.0.0.0:80 app:app

(5242880 是 510241024 的字节数)

2. 调整Werkzeug的表单字段数量限制

Flask依赖的Werkzeug默认限制表单字段总数为1000个,你的2000行表格大概率会超过这个数量(每行至少对应1个字段)。在app.py中添加以下配置:

app.config['MAX_FORM_KEYS'] = 10000  # 可根据实际字段数调整更大的值

3. 修改表单提交编码类型

如果当前表单用的是application/x-www-form-urlencoded编码,大量字段会让请求体结构冗余,可能触发隐性限制。在前端form标签中添加enctype="multipart/form-data":

<form method="POST" enctype="multipart/form-data">
  <!-- 表单内容 -->
</form>

4. 检查反向代理的限制(如果有)

如果Gunicorn前端部署了Nginx等反向代理,需要确认代理服务器的请求体大小限制。比如Nginx需要修改nginx.conf或站点配置文件,设置:

client_max_body_size 5M;

修改后重启Nginx服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 18:56:02