冰皇艾希 2024-06-08 23:04 采纳率: 71.4%
浏览 164
已结题

springboot3无法访问druid监控页面

实在搞不懂为什么访问不了http://localhost:8080/druid:

img


controller功能正常:

img

application-dev.yml配置如下

img

pom文件配置如下

img

img

各位兄弟帮忙看看,十分感谢。

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-06-08 23:04
    关注

    引自免费微信小程序:皆我百晓生

    看起来你在尝试配置Spring Boot 3应用与Druid数据源集成,并且想要访问Druid的监控界面,但遇到了问题。从提供的信息来看,问题可能出在以下几个方面:防火墙设置、过滤器配置或者Spring Security的默认安全配置。

    首先,检查一下防火墙设置,确保没有阻止对/druid/*路径的访问。

    然后,根据你的配置,Druid的监控界面应该可以通过http://localhost:8080/druid/login.html进行访问。你需要输入用户名(admin)和密码(admin12345)。

    如果你仍然无法访问,可能是Spring Security配置导致的问题。Spring Boot 3默认启用了Spring Security,可能会拦截了对/druid/*的请求。为了解决这个问题,你可以在Spring Security配置类中添加一个允许访问Druid的规则。创建一个名为SecurityConfig.java的类,加入以下内容:

    import org.springframework.context.annotation.Configuration;
    import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
    
    @Configuration
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
    
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.authorizeRequests()
                    // 其他已定义的权限...
                    .antMatchers("/druid/**").permitAll(); // 允许访问Druid相关路径
        }
    }
    

    如果你还没有创建这个类,那么可能Spring Security并未启用。在这种情况下,你可能需要手动配置Spring Security。确保你的项目中有对应的依赖项,例如spring-boot-starter-security

    接下来,确认你的URL是否正确。尝试访问http://localhost:8080/druid/login.html而不是http://localhost:8080/druid

    如果你已经做了上述所有步骤,但问题依然存在,那可能是日志或者其他配置问题。检查你的应用程序日志,看是否有任何异常或错误消息,这可以帮助定位问题所在。

    最后,确保你的Druid配置是正确的,特别是数据库连接参数(如数据库地址、端口、用户名和密码),这些都影响到数据源能否正常工作。

    如果以上建议都无法解决问题,请提供更多的日志信息或者详细的报错描述,以便我能更准确地帮你分析问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月22日
  • 已采纳回答 6月14日
  • 创建了问题 6月8日