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

如何提升AWS EC2负载均衡器请求体大小限制?解决413错误

解决Lambda调用ELB返回413 Payload Too Large的问题

1. 调整负载均衡器(ELB)的请求大小限制

从响应的域名来看,你使用的是AWS经典负载均衡器(CLB),它默认的请求体大小上限为1MB,这正是1.6MB payload触发413错误的核心原因。你可以通过以下方式调整:

  • CLI方式:执行命令修改CLB属性,将最大请求体大小调整为所需值(示例设置为16MB):
    aws elb modify-load-balancer-attributes --load-balancer-name YOUR_CLB_NAME --attributes "{\"HttpSettings\":{\"MaxRequestBodySize\":16777216}}"
    
  • 控制台方式:进入EC2控制台的负载均衡器页面,找到目标CLB,切换到「属性」标签,在「HTTP设置」模块修改「最大请求体大小」参数。

如果是应用负载均衡器(ALB),默认上限同样是1MB,可在控制台的ALB「属性」→「HTTP/HTTPS设置」中调整至最大16MB。

2. 配置EC2后端Web服务的请求大小限制

ELB的限制调整后,必须同步修改EC2上Web服务的对应配置,否则后端仍会拦截大请求:

  • Nginx:在站点配置文件或nginx.conf中添加/修改:
    client_max_body_size 16M;
    
    重启服务生效:sudo systemctl restart nginx
  • Apache:在httpd.conf或.htaccess中添加:
    LimitRequestBody 16777216
    
    重启服务:sudo systemctl restart httpd
  • Tomcat:修改server.xml的Connector节点,添加maxPostSize参数(Tomcat 8.5+可设为-1表示无限制,或指定具体字节数):
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxPostSize="16777216"/>
    
    重启Tomcat服务。

3. 确认Lambda端无额外限制

Lambda本身处理1.6MB请求体无压力,只需检查代码中使用的HTTP客户端(如Python的requests、Node.js的axios)是否设置了过小的请求体上限,确保没有自定义限制逻辑即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 07:28:15