Druid關(guān)閉監(jiān)控頁面關(guān)閉不了的問題及解決
Druid關(guān)閉監(jiān)控頁面關(guān)閉不了
項目里連接數(shù)據(jù)庫使用了阿里開源的druid,結(jié)果被發(fā)現(xiàn)有安全漏洞,可以直接訪問到druid的監(jiān)控界面。
但是奇怪的是,明明在yml文件里配置了關(guān)閉,同時allow的訪問IP是127.0.0.1,還設(shè)置了用戶名和密碼,但是就是關(guān)不了
配置如下:
datasource:
x-wr:
driverClassName: com.mysql.jdbc.Driver
name: mysql
type: com.alibaba.druid.pool.DruidDataSource
druid:
#基本屬性
url: jdbc:mysql://
username: x_rw
password: 11111
filter:
stat:
enabled: false #默認(rèn)值為true,監(jiān)控sql\慢sql等功能,我們建議修改為false,如果需要打開監(jiān)控頁面或者將慢sql輸出到日志中,則修改為true。
wall:
enabled: false #默認(rèn)值為false,sql防火墻,支持過濾sql,如禁止使用delete *等操作。
slf4j:
enabled: false #指定使用slf4j日志組件,支持選擇將各種操作過程輸出到日志中。
log4j2:
enabled: false #指定使用log4j2日志組件,支持選擇將各種操作過程輸出到日志中。
log4j:
enabled: false #指定使用log4j日志組件,支持選擇將各種操作過程輸出到日志中。
commons-log:
enabled: false #指定使用commons-log日志組件,支持選擇將各種操作過程輸出到日志中。
stat-view-servlet:
enabled: false #默認(rèn)值為true,即打開監(jiān)控頁面,但存在泄漏信息的風(fēng)險,所以修改為false
login-username: hhhh #配置監(jiān)控頁面登錄用戶名,啟用監(jiān)控頁面后才可用,建議業(yè)務(wù)方,重新定義,別使用我們的給定值
login-password: ssdd #配置監(jiān)控頁面登錄密碼,啟用監(jiān)控頁面后才可用,建議業(yè)務(wù)方,重新定義,別使用我們的給定值
allow: 127.0.0.1 #配置允許訪問監(jiān)控頁面的IP地址
web-stat-filter:
enabled: false #默認(rèn)值為true,統(tǒng)計web關(guān)聯(lián)的監(jiān)控信息如session/url等,建議修改為false
session-stat-enable: false #該功能模塊代碼不完善,特定場景下會誘發(fā)異常,非特別需求,建議修改為false
#配置初始化大小/最小/最大
initial-size: 1
min-idle: 1
max-active: 20
#獲取連接等待超時時間
max-wait: 60000
#間隔多久進行一次檢測,檢測需要關(guān)閉的空閑連接
time-between-eviction-runs-millis: 60000
#一個連接在池中最小生存的時間
min-evictable-idle-time-millis: 300000
validation-query: SELECT 'x'
test-while-idle: true
test-on-borrow: false
test-on-return: false
#打開PSCache,并指定每個連接上PSCache的大小。oracle設(shè)為true,mysql設(shè)為false。分庫分表較多推薦設(shè)置為false
pool-prepared-statements: false
max-pool-prepared-statement-per-connection-size: 20
connection-init-sqls: set names utf8mb4
x-ro:
driverClassName: com.mysql.jdbc.Driver
name: mysql
type: com.alibaba.druid.pool.DruidDataSource
druid:
#基本屬性
url: jdbc:mysql://
username: x_ro
password: 00000
filter:
stat:
enabled: false #默認(rèn)值為true,監(jiān)控sql\慢sql等功能,我們建議修改為false,如果需要打開監(jiān)控頁面或者將慢sql輸出到日志中,則修改為true。
wall:
enabled: false #默認(rèn)值為false,sql防火墻,支持過濾sql,如禁止使用delete *等操作。
slf4j:
enabled: false #指定使用slf4j日志組件,支持選擇將各種操作過程輸出到日志中。
log4j2:
enabled: false #指定使用log4j2日志組件,支持選擇將各種操作過程輸出到日志中。
log4j:
enabled: false #指定使用log4j日志組件,支持選擇將各種操作過程輸出到日志中。
commons-log:
enabled: false #指定使用commons-log日志組件,支持選擇將各種操作過程輸出到日志中。
stat-view-servlet:
enabled: false #默認(rèn)值為true,即打開監(jiān)控頁面,但存在泄漏信息的風(fēng)險,所以修改為false
login-username: hhhh #配置監(jiān)控頁面登錄用戶名,啟用監(jiān)控頁面后才可用,建議業(yè)務(wù)方,重新定義,別使用我們的給定值
login-password: ssdd #配置監(jiān)控頁面登錄密碼,啟用監(jiān)控頁面后才可用,建議業(yè)務(wù)方,重新定義,別使用我們的給定值
allow: 127.0.0.1 #配置允許訪問監(jiān)控頁面的IP地址
web-stat-filter:
enabled: false #默認(rèn)值為true,統(tǒng)計web關(guān)聯(lián)的監(jiān)控信息如session/url等,建議修改為false
session-stat-enable: false #該功能模塊代碼不完善,特定場景下會誘發(fā)異常,非特別需求,建議修改為false
#配置初始化大小/最小/最大
initial-size: 1
min-idle: 1
max-active: 20
#獲取連接等待超時時間
max-wait: 60000
#間隔多久進行一次檢測,檢測需要關(guān)閉的空閑連接
time-between-eviction-runs-millis: 60000
#一個連接在池中最小生存的時間
min-evictable-idle-time-millis: 300000
validation-query: SELECT 'x'
test-while-idle: true
test-on-borrow: false
test-on-return: false
#打開PSCache,并指定每個連接上PSCache的大小。oracle設(shè)為true,mysql設(shè)為false。分庫分表較多推薦設(shè)置為false
pool-prepared-statements: false
max-pool-prepared-statement-per-connection-size: 20
connection-init-sqls: set names utf8mb4
試了各種方法都不行,于是上網(wǎng)查了一下,發(fā)現(xiàn)確實是個bug(可以參考這篇文章bug)
于是解決方法就只能變成替換成hikari,怎么替換可以看我的文章hikari替換druid
關(guān)閉druid監(jiān)控 實測好用
spring.datasource.druid.filter.config.enabled=false spring.datasource.druid.web-stat-filter.enabled=false spring.datasource.druid.stat-view-servlet.enabled=false
注釋掉 public class DruidConfiguration 類
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java中List數(shù)組用逗號分隔開轉(zhuǎn)成字符串2種方法
在我們?nèi)粘i_發(fā)中,在前后端交互的時候會遇到多個id或其他字段存放到一個字段中,這時我們會遇到一個List(集合)---->String(單個字段),這篇文章主要給大家介紹了關(guān)于java中List數(shù)組用逗號分隔開轉(zhuǎn)成字符串的2種方法,需要的朋友可以參考下2023-10-10
springBoot項目集成quartz開發(fā)定時任務(wù)案例及注意事項
這篇文章主要介紹了springBoot項目集成quartz開發(fā)定時任務(wù)案例及注意事項,這些功能的主要接口(API)是Scheduler接口。它提供了簡單的操作,例如:將任務(wù)納入日程或者從日程中取消,開始/停止/暫停日程進度,需要的朋友可以參考下2022-06-06
數(shù)據(jù)定位在java購物車系統(tǒng)中的應(yīng)用
實現(xiàn)"加入購物車"功能,數(shù)據(jù)定位至關(guān)重要,它通過用戶ID和商品ID等標(biāo)識符實現(xiàn)快速查詢和數(shù)據(jù)一致性,主鍵、外鍵和聯(lián)合索引等數(shù)據(jù)庫技術(shù),以及Redis緩存和并發(fā)控制策略如樂觀鎖或分布式鎖,共同保障了購物車系統(tǒng)的查詢效率和數(shù)據(jù)安全,這些機制對高并發(fā)和大數(shù)據(jù)量的場景尤為重要2024-10-10

