打开 druid 监控报错Sorry, you are not permitted to view this page.

本文讲述了作者在配置Druid数据库连接池时遇到的访问权限问题,详细描述了通过allow参数设置允许访问IP的尝试过程,包括在Nacos配置文件中的修改以及尝试使用@RefreshScope注解实现配置动态刷新。最终发现allow配置的生效需要在模块重启后,并分享了解决方案和学习到的配置动态更新知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在听课的时候,看到了druid的后端。我看看我们项目用的数据库连接池也是Druid,然后访问一下地址,发现有的好使有的不好使。

其中9600 是 system模块的端口, 192.168.40.179是本机IPV4地址,192.168.1.66是测试环境地址。

http://localhost:9600/druid/login.html,这个地址可以访问

http://127.0.0.1:9600/druid/login.html,这个地址可以访问

http://192.168.40.179:9600/druid/login.html,这个地址是访问不了的

http://192.168.1.66:9600/druid/login.html,这个地址也是访问不了的

百度资料后,解决方案是:allow: .但是我改了几次nacos配置文件,不管是allow: ,还是 allow:192.168.40.179,192.168.1.66 。仍然一样的问题。

spring: 
  redis:
    host: ${secret.redis.host}
    port: ${secret.redis.port}
    password: ${secret.redis.password}
  datasource:
    druid:
      stat-view-servlet:
        allow: 
        enabled: ${secret.druid.stat-view-servlet.enabled}
        loginUsername: ${secret.druid.stat-view-servlet.loginUsername}
        loginPassword: ${secret.druid.stat-view-servlet.loginPassword}

放弃之余,调试了两次,找到了原因及解决方案。

这有个allow的加载,是在9600对应模块重启后,第一次访问druid的监控页面,才会初始化。之后的访问将直接判断是否能访问。

 所以,对于allow的改动,要应用重启后,才能生效。

因为还学到了@RefreshScope这个注解,可以不用重启,刷新配置。

于是乎在9600这个模块的启动类,增加@RefreshScope,但是也不好使。

所以暂且,修改druid的allow配置后,重启应用。

参考资料:配置_StatViewServlet配置 · alibaba/druid Wiki · GitHub

你写的不是代码,而是设计思路,是bug,是解决问题的方式和方法。

### Druid 监控页面报错解决方案 当遇到Druid监控页面返回404错误的情况时,通常是因为配置文件中的路径映射设置不正确或是某些必要的依赖项缺失所引起[^1]。为了修正这个问题,需确认`application.properties`或`application.yml`里关于Druid数据源以及Web统计过滤器的相关参数已被正确定义。 对于Spring Boot应用而言,在`pom.xml`中加入如下所示的Maven依赖来引入Druid组件: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.8</version> </dependency> ``` 接着调整配置文件以激活并自定义Druid的数据源属性与监控功能。下面是一个基于YAML格式的例子: ```yaml spring: datasource: druid: url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver stat-view-servlet: enabled: true login-username: admin login-password: admin reset-enable: false web-stat-filter: enabled: true url-pattern: /* exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" ``` 上述配置片段启用了StatViewServlet用于展示SQL性能报告,并设置了访问该界面所需的用户名密码验证机制;同时也开启了WebStatFilter以便追踪HTTP请求链路信息,同时排除静态资源和自身API接口以免干扰正常业务逻辑。 完成以上更改之后重启应用程序再尝试打开浏览器查看http://localhost:{port}/druid/index.html是否能够顺利加载到预期的内容。如果仍然存在障碍,则建议进一步排查日志记录寻找线索或者考虑升级至最新版本的库文件确保兼容性良好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值