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

Spring Boot后端返回HTTP 200但前端未接收的问题排查问询

可能的原因及排查方向
  • Tomcat线程池/连接池耗尽:
    即便业务日志显示请求处理完成,Tomcat的线程池如果已达上限,会导致响应无法被及时推送至前端。可以检查server.xml中的Executor配置(比如maxThreads参数),或者通过ps -ef | grep java查看Tomcat进程的线程数量;若使用Spring Boot内嵌Tomcat,也可通过JMX监控线程池状态。同时排查数据库连接池配置(如maxActive),确认是否存在连接泄漏导致后续请求阻塞。

  • 网络链路隐性拦截/会话中断:
    CentOS与Windows Server之间的防火墙、路由器或负载均衡器可能存在会话超时设置过短,或隐性拦截响应包的情况。可以在CentOS上用nc -zv <WindowsIP> <数据库端口>测试连通性,同时检查CentOS的firewalld/iptables规则,以及Windows Server防火墙的入站/出站策略。另外,可抓包分析(比如用tcpdump在CentOS端抓HTTP响应包),确认响应是否真的发出。

  • Tomcat响应缓冲区未刷新:
    部分场景下,业务代码执行完成但Tomcat的输出缓冲区未被强制刷新,导致响应滞留在内存中。可以开启Tomcat访问日志(server.tomcat.accesslog.enabled=true),查看日志中是否记录了完整的200响应条目(包含响应完成时间);若控制器中手动操作过输出流,需确认是否调用了flush()方法。

  • 系统资源不足:
    CentOS服务器内存不足、CPU使用率过高,可能导致Tomcat进程无法及时处理响应发送。用top查看CPU和内存占用,free -m检查剩余内存,同时查看/var/log/messages是否有OOM Killer相关日志,确认是否存在系统资源瓶颈。

  • Tomcat NIO连接器异常:
    Tomcat 8默认使用NIO连接器,若NIO线程出现异常或阻塞,会影响响应写入网络通道。可以查看Catalina日志中是否有NIO相关报错,临时切换至BIO连接器(修改server.xml中Connector的protocol="HTTP/1.1")测试,若问题消失则说明NIO连接器存在异常。

内容的提问来源于stack exchange,提问作者S. Ilic

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 04:55:13