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

Elasticsearch 7.17.3设置http_max_content_length后仍报ContentTooLongException

解决Elasticsearch 7.17.3仍报org.apache.http.ContentTooLongException的问题

以下是针对你的问题的排查方向和解决方案:

  • 确认ES服务端配置是否正确生效
    Elasticsearch的HTTP内容长度限制参数为http.max_content_length(点分隔),若你之前设置的是下划线分隔的http_max_content_length,配置不会生效。
    验证配置:执行GET _cluster/settings?include_defaults=true,查看http.max_content_length是否为200mb。若未生效,需修正参数名并滚动重启7.17.3集群的所有节点(7.17.3版本需重启节点才能加载HTTP相关配置,8.9.0部分支持动态生效)。

  • 调整Spring Data Elasticsearch客户端的内容长度限制
    Spring Data Elasticsearch 4.4.x底层依赖的Apache HttpClient自身存在内容长度限制,仅放开ES服务端限制不足以解决问题,需自定义客户端配置:

    @Bean
    public RestHighLevelClient elasticsearchClient() {
        RestClientBuilder builder = RestClient.builder(new HttpHost("your-es-host", 9200, "http"));
        
        builder.setHttpClientConfigCallback(httpClientBuilder -> 
            httpClientBuilder.setDefaultRequestConfig(RequestConfig.custom()
                .setMaxContentLength(200 * 1024 * 1024) // 200MB,与服务端配置一致
                .build())
        );
        
        return new RestHighLevelClient(builder);
    }
    
  • 排查实际请求的内容大小
    确认请求实际大小是否在200MB以内:可通过日志打印请求字节数,或用curl模拟请求验证。7.17.3与8.9.0对请求内容的计算逻辑可能存在差异(如压缩处理、请求头计入方式),若请求接近200MB,可尝试将http.max_content_length临时调至300MB测试。

  • 检查代理/网关的额外限制
    若7.17.3集群前端有反向代理(如Nginx)或API网关,需同步调整这些组件的请求体大小限制(比如Nginx的client_max_body_size参数),避免代理层截断请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 22:41:00