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

AWS Beanstalk EC2 Spring应用HTTP上传超1MB报ERR_CONNECTION_ABORTED

大文件上传失败排查与解决步骤
  • 确认Spring应用自身的Multipart上传限制配置:
    核对部署包内的application.properties/application.yml是否配置了适配的上传大小限制,Spring Boot 2.x及以上版本需添加以下配置(示例值按需调整):
    spring.servlet.multipart.max-file-size=10MB
    spring.servlet.multipart.max-request-size=15MB
    Spring Boot 1.x版本对应配置前缀为spring.http.multipart.*。注意确认配置已正确打入部署包,避免使用本地开发环境的临时配置而非生产配置

  • 调整Beanstalk默认Nginx反向代理的请求体限制:
    Beanstalk Java运行平台默认前置的Nginx反向代理,默认client_max_body_size为1MB,刚好匹配1MB以上上传失败的阈值。
    解决方法:在项目根目录新建.ebextensions文件夹,新增配置文件(如upload-size.config),写入以下内容后重新部署:

    files:
      "/etc/nginx/conf.d/proxy.conf":
        mode: "000644"
        owner: "root"
        group: "root"
        content: |
          client_max_body_size 20M;
          proxy_connect_timeout 300s;
          proxy_send_timeout 300s;
          proxy_read_timeout 300s;
    

    如果Beanstalk平台使用Apache反向代理,对应调整LimitRequestBody参数即可

  • 调整负载均衡器的请求体大小限制:
    如果Beanstalk环境配置了负载均衡(而非单实例直连),应用负载均衡器(ALB)默认最大请求体大小为1MB,超过阈值会主动中断连接,直接触发ERR_CONNECTION_ABORTED报错。
    调整方法:进入AWS EC2控制台的负载均衡页面,找到对应Beanstalk环境的ALB,修改属性中的请求体大小限制为实际需求值(如20MB),修改后无需重新部署Beanstalk即可生效。

  • 检查实例临时目录状态:
    确认EC2实例的/tmp目录符合应用写入要求:

    1. SSH登录实例后执行df -h /tmp,确认目录剩余空间足够存储上传的临时文件
    2. 执行ls -ld /tmp查看权限,确保应用运行用户(通常为webapp/tomcat)拥有写入权限,若权限不足可调整临时存储路径到应用专属可写目录(如/var/app/current/tmp)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 15:24:03