一、問題描述
在使用 阿里的 Druid 連接池的時候,遇到一個奇怪的問題,在本地(localhost)可以直接打開 Druid連接池監控,在其他機器上打開會報錯: Sorry, you are not permitted to view this page.
配置如下:
##### druid ####
# JDBC 配置(驅動類自動從url的mysql識別,數據源類型自動識別)
spring.datasource.druid.url=jdbc:mysql://192.168.0.128:3306/jmtest?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&&useSSL=false
spring.datasource.druid.username=root
spring.datasource.druid.password=123456
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
#連接池配置
spring.datasource.druid.initial-size=1
spring.datasource.druid.max-active=20
spring.datasource.druid.min-idle=1
spring.datasource.druid.max-wait=60000
spring.datasource.druid.filters=stat
##### druid 監控 ####
# WebStatFilter配置
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.web-stat-filter.url-pattern=/*
spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
spring.datasource.druid.web-stat-filter.session-stat-enable=false
spring.datasource.druid.web-stat-filter.session-stat-max-count=1000
spring.datasource.druid.web-stat-filter.principal-session-name=admin
spring.datasource.druid.web-stat-filter.principal-cookie-name=admin
spring.datasource.druid.web-stat-filter.profile-enable=true
# StatViewServlet配置
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.reset-enable=true
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin
解決方法:
在druid wiki上找到了如下描述:
判斷規則
- deny優先於allow,如果在deny列表中,就算在allow列表中,也會被拒絕。
- 如果allow沒有配置或者爲空,則允許所有訪問
添加如下配置:
spring.datasource.druid.stat-view-servlet.allow=
參考:
https://blog.csdn.net/haha_sir/article/details/78882905
https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatViewServlet%E9%85%8D%E7%BD%AE