SpringCloud-admin服务监控 Unauthorized 401

- 日理万妓 2023-06-22 05:19 116阅读 0赞

简介

SpringCloud-admin作为微服务服务监控平台,当被监控服务注册到admin后,admin会定期获取健康信息,此时部分被监控服务可能有security安全校验,在获取健康信息时就会出现Unauthorized 401等类似响应值。网上大多数解决方案是management.security.enabled=false,该方式虽然可以临时解决,但不是长久之计。

分析

出现Unauthorized 401的本质在于被监控服务开启了security安全校验(spring-boot-starter-security),而admin获取信息时只是取/actuator/**下的信息,因此只需要在被监控服务中让security安全校验放过/actuator/**即可

在被监控服务中添加如下配置

  1. http.authorizeRequests().antMatchers("/actuator/**").permitAll();

全代码(根据自己的security安全配置文件酌情修改)

  1. /**
  2. * 添加security依赖后要通过该类开启校验
  3. *
  4. * @创建人 Wang Bintao
  5. * @创建时间 2019/12/13
  6. * @描述
  7. */
  8. @Configuration
  9. @EnableWebSecurity
  10. public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
  11. @Override
  12. protected void configure(HttpSecurity http) throws Exception {
  13. http.authorizeRequests()
  14. // 只开启eureka注册账密校验
  15. .antMatchers("/actuator/**").permitAll()
  16. // 其他请求全放过
  17. .anyRequest().authenticated()
  18. .and().csrf().disable()
  19. // 开启基本账密校验
  20. .httpBasic();
  21. }
  22. }

发表评论

表情:
评论列表 (有 0 条评论,116人围观)

还没有评论,来说两句吧...

相关阅读

    相关 阿里云 registry 401 UNAUTHORIZED

    需求:请求阿里云的镜像仓库,读取镜像的信息,直接读取肯定返回错误,毕竟仓库是私有的嘛。 既然是私有的,请求的时候,肯定要带上账号密码或者Token等这样的信息才可以。那么如