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

Spring Boot 3.2.5服务/actuator/health返回404排查求助

进一步排查方向
  • 检查WebMvc/WebFlux自动配置是否被禁用

    • 排查代码中是否存在@EnableWebMvc或@EnableWebFlux注解,SpringBoot 3.x中这类注解会完全接管MVC配置,可能覆盖Actuator端点的注册逻辑,对比正常服务确认是否有差异。
    • 查看启动日志,搜索包含Excluding auto-configuration class的行,确认WebMvcAutoConfiguration或WebFluxAutoConfiguration是否被排除。
  • 验证Actuator端点相关Bean的状态

    • 启动服务后,通过JMX或临时代码(如applicationContext.getBean(HealthEndpoint.class))检查HealthEndpoint、HealthEndpointWebExtension等Bean是否存在。若抛出NoSuchBeanDefinitionException,说明端点Bean未正确初始化。
    • 借助Spring Boot Admin(若已部署)查看Bean列表,确认Actuator相关组件的状态。
  • 排查自定义路径匹配配置的干扰

    • 检查是否存在自定义WebMvcConfigurer或WebFluxConfigurer实现,尤其是重写configurePathMatch方法的逻辑,这类自定义配置可能导致Actuator路径无法被匹配。
    • 确认是否有自定义的HandlerMapping或HandlerAdapterBean,这些组件可能干扰Actuator端点的请求映射流程。
  • 分析端点注册的DEBUG日志

    • 开启org.springframework.boot.actuate.endpoint.web包的DEBUG日志,查看是否有Registered endpoint '/actuator/health'这类端点注册记录。若无相关日志,说明端点未完成注册。
    • 同时监控org.springframework.context.annotation包的日志,确认HealthEndpointWebExtensionConfiguration是否被正确加载,以及相关Bean是否成功创建。
  • 深度排查依赖细节

    • 用mvn dependency:tree(Maven)或./gradlew dependencies(Gradle)生成依赖树,检查spring-boot-starter-actuator是否完整引入,是否有其他依赖排除了Actuator的必要组件。
    • 确认spring-boot-starter-web或spring-boot-starter-webflux依赖是否存在,Actuator的Web端点依赖于这些Web starter组件。
  • 构建最小化复现工程

    • 创建仅包含spring-boot-starter-actuator和spring-boot-starter-web的Spring Boot 3.2.5工程,配置相同的management参数,验证/actuator/health是否正常。若正常,逐步添加原服务的依赖、配置、代码,每次添加后测试,定位问题根源。
  • 核对Spring Boot 3.2.x的兼容性变更

    • 查阅Spring Boot 3.2.x官方发布说明,重点关注Actuator相关的变更,比如端点路径规则、自动配置逻辑调整。例如3.2版本是否对Actuator路径匹配做了调整,是否需要额外配置management.endpoints.web.path-mapping或management.base-path。

内容的提问来源于stack exchange,提问作者David M. Karr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 01:42:44