解决登录druid监控首页时出现Whitelabel Error Page:There was an unexpected error (type=Not Found, status=404)的错误

导读:本篇文章讲解 解决登录druid监控首页时出现Whitelabel Error Page:There was an unexpected error (type=Not Found, status=404)的错误,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1. 问题

今天在application.yml文件中进行如下配置Druid:

  1. pom.xml 添加相关依赖
<!-- SPRINGBOOT DRUID -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.11</version>
</dependency>
  1. 配置application.yml
# 端口号配置
server:
  port: 8081

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    password: 123456
    username: root
    url: jdbc:mysql://localhost:3306/superjson?useUnicode=true&characterEncoding=utf8&useSSL=false
    # 连接池配置
    druid:
      # 初始化大小,最小,最大
      initial-size: 5
      min-idle: 5
      max-active: 20
      # 配置获取连接等待超时的时间
      max-wait: 60000
      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位毫秒
      time-between-eviction-runs-millis: 60000
      # 配置一个连接在池中最小生存时间
      min-evictable-idle-time-millis: 300000
      validation-query: SELECT 1 FROM sys_user
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false
      # 打开 PSCache,并且指定每个连接上 PSCache 的大小
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      # 配置监控统计拦截的 Filter,去掉后监控界面 SQL 无法统计,wall 用于防火墙
      filters: stat,wall,slf4j
      # 通过 connection-properties 属性打开 mergeSql 功能;慢 SQL 记录
      connection-properties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
      # 配置 DruidStatFilter
      web-stat-filter:
        enabled: true
        url-pattern: /*
        exclusions: .js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*
      # 配置 DruidStatViewServlet
      stat-view-servlet:
        url-pattern: /druid/*
        # IP 白名单,没有配置或者为空,则允许所有访问
        allow: 127.0.0.1
        # IP 黑名单,若白名单也存在,则优先使用
        deny: 192.168.31.253
        # 禁用 HTML 中 Reset All 按钮
        reset-enable: false
        # 登录用户名/密码
        login-username: root
        login-password: 123456
  1. 启动SpringBoot项目

访问地址http://localhost:8081/druid/login.html进行登录,但报出如下错误:

在这里插入图片描述

为什么会出现这种错误,是不是哪里配置的有问题?

2 分析问题

如果将druid版本降低为 1.1.10,即如下配置:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>

启动项目,访问http://localhost:8081/druid/login.html可以正常访问,如下图所示(出现登录页面,即表示配置成功):

http://localhost:8081/druid/login.html
druid版本为 1.2.11,为什么就不能访问呢?

查询资料发现,druid版本1.1.10以上版本配置改变,但1.1.10版本以上需要配置开启 stat-view-servlet ,不配置情况下为默认不开启监控页面,其他一些配置,如sql监控也是默认不开启的,若是要开启某个功能要手动开启,配置参考如下链接地址:

https://github.com/alibaba/druid

3. 解决问题

  1. druid版本降低为 1.1.10及以下
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>
  1. application.yml文件中stat-view-servlet增加enabled: true配置,如下所示:
stat-view-servlet:
    url-pattern: /druid/*
    # IP 白名单,没有配置或者为空,则允许所有访问
    allow: 127.0.0.1
    # IP 黑名单,若白名单也存在,则优先使用
    deny: 192.168.31.253
    # 禁用 HTML 中 Reset All 按钮
    reset-enable: false
    # 登录用户名/密码
    login-username: root
    login-password: 123456
    # 需要设置enabled=true,否则会报出There was an unexpected error (type=Not Found, status=404).错误,或者将druid-spring-boot-starter的版本降低到1.1.10及以下
    # 是否启用StatViewServlet(监控页面)默认值为false(考虑到安全问题默认并未启动,如需启用建议设置密码或白名单以保障安全)
    enabled: true

4. 在线将yml转为properties

如果你是application.properties文件,可以使用在线工具将上述yml配置转为properties配置。

网站地址:https://www.toyaml.com

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99172.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!