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

如何解决Spring Boot嵌入式Tomcat的413 Request Entity Too Large错误?

解决Spring Boot嵌入式Tomcat GET请求大参数导致的413错误

针对你遇到的GET请求大参数触发413错误的问题,除了server.tomcat.max-swallow-size,还有以下几类配置限制需要排查:

  • Tomcat请求行与头大小限制
    GET请求的参数包含在URL中,嵌入式Tomcat默认限制请求行(含URL)的总大小为8KB左右。需在application.yaml中调整相关配置:

    server:
      max-http-request-header-size: 10MB  # 根据实际业务需求调整数值
      tomcat:
        max-http-header-size: 10MB  # 部分Tomcat版本需单独配置该属性
    

    其中max-http-request-header-size是Spring Boot顶层配置,会映射到Tomcat的maxHttpHeaderSize属性,该属性控制整个请求头(包括请求行)的最大允许长度。

  • Tomcat参数解析限制
    若单个参数值过大,可能触发Tomcat的参数解析阈值,可调整参数数量上限配置:

    server:
      tomcat:
        max-parameter-count: 2000  # 默认值为1000,按需增大
    

    注:该配置主要针对多参数场景,单一大参数问题更核心的还是请求行长度限制。

  • 反向代理/前端服务器限制
    如果应用部署在Nginx、Apache等反向代理之后,这些服务本身也会限制URL长度:

    • Nginx:需调整large_client_header_buffers(控制请求头缓存大小)和client_max_body_size:
      large_client_header_buffers 4 16k;
      client_max_body_size 10M;
      
    • Apache:修改LimitRequestLine(请求行最大长度)和LimitRequestFields(请求头字段数量):
      LimitRequestLine 1048576
      LimitRequestFields 200
      
  • 客户端/浏览器限制
    普通浏览器对URL长度有默认限制(通常在2KB~8KB区间),若通过浏览器发起请求,大参数会被截断或直接触发错误。这种场景下建议将请求改为POST方式,把参数放在请求体中,规避URL长度限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 18:50:26