ES程序连接时报Connection reset

你碰到的 Connection reset

通常和「连接池/连接管理」有关,但原因可能有:

  • 服务端关闭了 Keep-Alive,客户端还在用旧连接请求 → TCP RST。
  • Nginx/Proxy/CDN 在 ES 前面,有连接空闲超时(默认 60s 或 120s),导致中断。
  • 连接池配置过小/过大,连接被回收或资源不足。
  • 负载均衡器/防火墙 在空闲时切断连接。

👉 建议排查:

  1. 确认客户端是否开启了连接池,并且设置了合理的 MaxConnIdleTimeout
  2. elasticsearch.log 是否有报错(比如过多连接、http 断开)。
  3. 检查中间层(Nginx/SLB)是否有 idle timeout。

🔥 总结一句:

  • ES 服务端没有主动的连接池机制,它只接受 HTTP keep-alive。
  • 客户端 SDK 一般自带连接池,如果 Connection reset,更可能是连接被服务端/中间件关闭,而客户端还在复用旧连接