阿里P7讲解SpringBoot四大神器之Actuator

Spring Boot有四大神器,分别是auto-configuration、starters、cli、actuator,本文主要讲actuator。actuator是spring boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计等。

使用actuator

pom中添加依赖

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

访问用项目地址加每个功能的url,比如:http://localhost/autoconfig

主要暴露的功能

在这里插入图片描述
需要注意的是这些信息无疑是暴露了我们项目的一些秘密,比如说配置属性,会暴露数据库的配置的等等信息。

所以在开启这个功能的时候需要对这些功能的url做鉴权控制,不能让别人随便就能看到。

我们可以在Filter中进行控制。

//健康检查控制
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort();
String path = req.getContextPath();
String uri = req.getRequestURI().toLowerCase();
if (uri.equals("/autoconfig") || uri.equals("/configprops") || uri.equals("/beans") || uri.equals("/dump")
      || uri.equals("/env") || uri.equals("/health") || uri.equals("/info") || uri.equals("/mappings")
      || uri.equals("/metrics") || uri.equals("/shutdown") || uri.equals("/trace")) {
      if(req.getQueryString() == null || !req.getQueryString().equals("token=你自定义的token值相当于密码")){
            resp.sendRedirect(basePath + path + "/404");
            return ;
      }
}
chain.doFilter(request, response);

访问的时候就带上token参数:http://localhost/configprops?token=你自定义的token值相当于密码

这样别人不知道你的token就无法查看了。

写在最后:

既然看到这里了,觉得笔者写的还不错的就点个赞,加个关注呗!点关注,不迷路,持续更新!!!

猜你喜欢

转载自blog.csdn.net/qq_42882671/article/details/86526994