当前位置: 首页 > news >正文

开发避坑指南(28):Spring Boot端点检查禁用失效解决方案

问题

Spring Boot 配置了禁用端点检查,可是某些端点还是能访问?或者干脆禁用失效?是什么问题?

问题背景

Spring Boot 版本:2.0.3

原配置

#关闭Spring Boot端点检查
management.endpoint.health.enabled=false

问题分析

首先,要搞清为什么禁用Spring Boot端点检查失效得先搞清楚Spring Boot的Actuator一共有多少个端点?默认开启了哪些端点?

1、Spring Boot 1.x 版本‌
默认提供 ‌13个核心端点‌,包括:
/autoconfig、/configprops、/beans、/dump、/env、/health、/info、/metrics、/mappings、/shutdown、/trace,以及环境变量和线程相关端点。

2、Spring Boot 2.x/3.x 版本‌
端点数量扩展至 ‌20个以上‌,新增了如:
/auditevents、/caches、/conditions、/flyway、/heapdump、/httpexchanges、/integrationgraph、/liquibase、/scheduledtasks、/sessions、/startup等。

**默认仅暴露 /health 和 /info,其他端点需通过配置显式启用。**可以通过访问端点/actuator查看系统开启了哪些端点,默认的返回结果是3个:

{"_links": {"self": {"href": "http://localhost:8073/actuator","templated": false},"health": {"href": "http://localhost:8073/actuator/health","templated": false},"info": {"href": "http://localhost:8073/actuator/info","templated": false}}
}

解决办法

通过上面分析,先检查配置是否正确,搞清楚是要禁用某个端点还是禁用全部端点。比如上面的问题就是只禁用了health端点而已,而info端点没有禁用。正确的配置是:

#关闭Spring Boot端点检查
management.endpoints.enabled-by-default=false

该配置用于禁用所有Actuator端点的默认启用状态。在Spring Boot 2.x中,默认情况下大多数内置端点(如health、info、metrics等)是启用的,此配置会全局关闭所有端点的默认启用行为。

其次是检查是否有多处配置文件,或者配置重复,导致优先级高的配置覆盖了优先级低的配置,而你一直在改优先级低的配置,导致一直在配置无效。

http://www.lryc.cn/news/624412.html

相关文章:

  • 零基础数据结构与算法——第七章:算法实践与工程应用-图像处理
  • Qt5核心模块详细讲解
  • Docker学习--认识Docker
  • 图论Day5学习心得
  • 码上爬第十八题【协程+webpack】
  • IDE开发系列(1)基于QT的简易IDE框架设计
  • Qt第十讲-使用快捷键
  • 面试问题详解三:Qt 的信号与槽连接、编译机制流程
  • 宋红康 JVM 笔记 Day05|运行时数据区内部结构、JVM中的线程说明、程序计数器
  • AR技术为消防救援装上“智能透视眼”
  • 【iOS】锁的原理
  • WPF中BindingList<T>和List<T>
  • C++ 指针与 C 语言指针的深度比较
  • MATLAB的实用字母识别系统实现含GUI界面
  • Image and Video Tokenization with Binary Spherical Quantization 论文阅读
  • 华为GaussDB的前世今生:国产数据库崛起之路
  • Java面试宝典:Redis高级特性和应用(发布 订阅、Stream)
  • 【Java基础常见辨析】重载与重写,深拷贝与浅拷贝,抽象类与普通类
  • 15.web api 6
  • 个人笔记SpringMVC
  • Klipper-delta_calibrate模块
  • Read View 在 MVCC 里如何工作的?
  • 《C++异常处理完全指南》
  • 如何在 Ubuntu 24.04 或 22.04 LTS 上安装 PowerShell
  • Spring Boot 实用小技巧:多级缓存(Caffeine + Redis)- 第545篇
  • 【网络安全实验报告】实验四: PGP邮件加密软件应用
  • C++STL之list详解
  • 【Linux指南】gcc/g++编译器:从源码到可执行文件的全流程解析
  • 8.18 机器学习-决策树(1)
  • goland怎么取消自动删除未使用的包