今天在听课的时候,看到了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配置后,重启应用。
你写的不是代码,而是设计思路,是bug,是解决问题的方式和方法。

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


2497

被折叠的 条评论
为什么被折叠?



