Spring boot 访问 /health 404

SpringBoot升级至2.0后,Actuator模块接口路径发生变更,原有直接访问方式如健康检查接口/http://host:port/health将返回404错误。正确访问方式需在原有接口前添加/actuator前缀。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring boot 升级到2.0以后actuator也跟随升级

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

如果采用原来的的方式直接访问actuator暴露的接口将会保错,如访问health的接口,检查服务是否正常。

http://host:port/health

得到下面响应

{
    "timestamp": "....",
    "status": 404,
    "error": "Not Found",
    "message": "No message available",
    "path": "/health"
}

这是因为Spring boot 2.0actuator 的接口被增加了前缀路径 /actuator

所以只需要在原有的接口上加上/actuator前缀就可以

关于这个问题可以在启动Spring boot的日志中发现
日志截图

### 解决 Spring Boot Actuator 访问时出现的 404 错误 当遇到 Spring Boot Actuator 的端点返回 404 错误时,通常是因为应用程序配置不正确或某些必要的设置被遗漏。以下是几种可能的原因及其解决方案: #### 配置文件中的管理端口和路径检查 默认情况下,Spring Boot 应用程序会暴露一些基本的健康检查和其他监控信息到 `/actuator` 路径下。如果更改了 `management.server.port` 或者设置了自定义的基础 URL,则需要确保请求发送到了正确的地址。 对于大多数应用来说,默认行为已经足够;但如果确实修改过这些属性,在尝试访问任何 actuator endpoint 前应该先确认它们是否指向预期的位置[^1]。 ```yaml # application.yml example server: port: 8080 management: server: port: 8081 # 如果指定了不同的管理服务器端口号,请确保使用该端口来访问 endpoints endpoints: web: exposure: include: "*" # 允许公开所有内置endpoint, 生产环境中应谨慎考虑安全因素并仅开放必要项 ``` #### 添加所需依赖关系 为了使 Actuator 功能正常工作,必须在项目的构建描述符 (pom.xml 对于 Maven 构建工具而言) 中引入 spring-boot-starter-actuator 和其他相关组件作为依赖项。这一步骤已经在给定的信息中提到过了。 #### 启用特定 Endpoint 并验证安全性策略 有时即使添加了上述依赖并且没有改变默认配置,仍然无法看到想要查看的数据。这是因为并非所有的 endpoint 默认都是可访问的——特别是那些涉及敏感操作或数据泄露风险较高的部分。因此还需要进一步调整哪些 endpoint 可以对外提供服务以及谁有权限对其进行调用。 可以通过编辑 application.properties 或 .yml 文件来进行这项设定: ```properties # application.properties example management.endpoints.web.exposure.include=health,prometheus # 明确指定要启用的具体endpoints名称列表 spring.security.user.name=admin # 设置用于保护endpoint的安全认证用户名 spring.security.user.password=secret # 密码也需相应地给出 ``` 另外值得注意的是关于安全性的考量:虽然可以简单地将所有 endpoint 设为 public (`*`) 来快速解决问题,但这并不是一个好的实践方法。相反应当仔细评估每一个 endpoint 是否真的有必要对外开放,并采取适当措施防止潜在威胁的发生,比如通过 HTTPS 加密传输、限制 IP 地址范围等方式加强防护力度[^2]。 最后提醒一点就是版本兼容性问题也可能引起类似的错误提示。确保所使用的 Spring Boot 版本与 Actuator 组件之间不存在冲突是非常重要的。如果有条件的话建议升级至最新稳定版以获得更好的支持和服务质量保障。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值