Druid關(guān)閉監(jiān)控頁(yè)面關(guān)閉不了的問(wèn)題及解決
Druid關(guān)閉監(jiān)控頁(yè)面關(guān)閉不了
項(xiàng)目里連接數(shù)據(jù)庫(kù)使用了阿里開源的druid,結(jié)果被發(fā)現(xiàn)有安全漏洞,可以直接訪問(wèn)到druid的監(jiān)控界面。
但是奇怪的是,明明在yml文件里配置了關(guān)閉,同時(shí)allow的訪問(wèn)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)控頁(yè)面或者將慢sql輸出到日志中,則修改為true。 wall: enabled: false #默認(rèn)值為false,sql防火墻,支持過(guò)濾sql,如禁止使用delete *等操作。 slf4j: enabled: false #指定使用slf4j日志組件,支持選擇將各種操作過(guò)程輸出到日志中。 log4j2: enabled: false #指定使用log4j2日志組件,支持選擇將各種操作過(guò)程輸出到日志中。 log4j: enabled: false #指定使用log4j日志組件,支持選擇將各種操作過(guò)程輸出到日志中。 commons-log: enabled: false #指定使用commons-log日志組件,支持選擇將各種操作過(guò)程輸出到日志中。 stat-view-servlet: enabled: false #默認(rèn)值為true,即打開監(jiān)控頁(yè)面,但存在泄漏信息的風(fēng)險(xiǎn),所以修改為false login-username: hhhh #配置監(jiān)控頁(yè)面登錄用戶名,啟用監(jiān)控頁(yè)面后才可用,建議業(yè)務(wù)方,重新定義,別使用我們的給定值 login-password: ssdd #配置監(jiān)控頁(yè)面登錄密碼,啟用監(jiān)控頁(yè)面后才可用,建議業(yè)務(wù)方,重新定義,別使用我們的給定值 allow: 127.0.0.1 #配置允許訪問(wèn)監(jiān)控頁(yè)面的IP地址 web-stat-filter: enabled: false #默認(rèn)值為true,統(tǒng)計(jì)web關(guān)聯(lián)的監(jiān)控信息如session/url等,建議修改為false session-stat-enable: false #該功能模塊代碼不完善,特定場(chǎng)景下會(huì)誘發(fā)異常,非特別需求,建議修改為false #配置初始化大小/最小/最大 initial-size: 1 min-idle: 1 max-active: 20 #獲取連接等待超時(shí)時(shí)間 max-wait: 60000 #間隔多久進(jìn)行一次檢測(cè),檢測(cè)需要關(guān)閉的空閑連接 time-between-eviction-runs-millis: 60000 #一個(gè)連接在池中最小生存的時(shí)間 min-evictable-idle-time-millis: 300000 validation-query: SELECT 'x' test-while-idle: true test-on-borrow: false test-on-return: false #打開PSCache,并指定每個(gè)連接上PSCache的大小。oracle設(shè)為true,mysql設(shè)為false。分庫(kù)分表較多推薦設(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)控頁(yè)面或者將慢sql輸出到日志中,則修改為true。 wall: enabled: false #默認(rèn)值為false,sql防火墻,支持過(guò)濾sql,如禁止使用delete *等操作。 slf4j: enabled: false #指定使用slf4j日志組件,支持選擇將各種操作過(guò)程輸出到日志中。 log4j2: enabled: false #指定使用log4j2日志組件,支持選擇將各種操作過(guò)程輸出到日志中。 log4j: enabled: false #指定使用log4j日志組件,支持選擇將各種操作過(guò)程輸出到日志中。 commons-log: enabled: false #指定使用commons-log日志組件,支持選擇將各種操作過(guò)程輸出到日志中。 stat-view-servlet: enabled: false #默認(rèn)值為true,即打開監(jiān)控頁(yè)面,但存在泄漏信息的風(fēng)險(xiǎn),所以修改為false login-username: hhhh #配置監(jiān)控頁(yè)面登錄用戶名,啟用監(jiān)控頁(yè)面后才可用,建議業(yè)務(wù)方,重新定義,別使用我們的給定值 login-password: ssdd #配置監(jiān)控頁(yè)面登錄密碼,啟用監(jiān)控頁(yè)面后才可用,建議業(yè)務(wù)方,重新定義,別使用我們的給定值 allow: 127.0.0.1 #配置允許訪問(wèn)監(jiān)控頁(yè)面的IP地址 web-stat-filter: enabled: false #默認(rèn)值為true,統(tǒng)計(jì)web關(guān)聯(lián)的監(jiān)控信息如session/url等,建議修改為false session-stat-enable: false #該功能模塊代碼不完善,特定場(chǎng)景下會(huì)誘發(fā)異常,非特別需求,建議修改為false #配置初始化大小/最小/最大 initial-size: 1 min-idle: 1 max-active: 20 #獲取連接等待超時(shí)時(shí)間 max-wait: 60000 #間隔多久進(jìn)行一次檢測(cè),檢測(cè)需要關(guān)閉的空閑連接 time-between-eviction-runs-millis: 60000 #一個(gè)連接在池中最小生存的時(shí)間 min-evictable-idle-time-millis: 300000 validation-query: SELECT 'x' test-while-idle: true test-on-borrow: false test-on-return: false #打開PSCache,并指定每個(gè)連接上PSCache的大小。oracle設(shè)為true,mysql設(shè)為false。分庫(kù)分表較多推薦設(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)確實(shí)是個(gè)bug(可以參考這篇文章bug)
于是解決方法就只能變成替換成hikari,怎么替換可以看我的文章hikari替換druid
關(guān)閉druid監(jiān)控 實(shí)測(cè)好用
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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java+socket實(shí)現(xiàn)簡(jiǎn)易局域網(wǎng)聊天室
這篇文章主要為大家詳細(xì)介紹了java+socket實(shí)現(xiàn)簡(jiǎn)易局域網(wǎng)聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05Spring 與 JDK 線程池的簡(jiǎn)單使用示例詳解
這篇文章主要介紹了Spring 與 JDK 線程池的簡(jiǎn)單使用,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09Springboot?hibernate-validator?6.x快速校驗(yàn)示例代碼
這篇文章主要介紹了Springboot?hibernate-validator?6.x校驗(yàn),本文以6.2.1.Final版本為例解決了log4j版本的漏洞問(wèn)題,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12SpringBoot配置數(shù)據(jù)庫(kù)密碼加密的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot配置數(shù)據(jù)庫(kù)密碼加密的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Java利用Geotools從DEM數(shù)據(jù)中讀取指定位置的高程信息全過(guò)程
Geotools作為一款功能強(qiáng)大且開源的地理工具庫(kù),為地理數(shù)據(jù)的處理和分析提供了豐富的類庫(kù)和便捷的接口,能夠很好地滿足從DEM數(shù)據(jù)中讀取高程信息這一實(shí)戰(zhàn)需求,本文將深入講解如何利用Geotools從獲取DEM數(shù)據(jù)到成功讀取指定位置高程信息的全過(guò)程,需要的朋友可以參考下2025-03-03如何將字符串、字節(jié)數(shù)組轉(zhuǎn)為輸入流
這篇文章主要介紹了如何將字符串、字節(jié)數(shù)組轉(zhuǎn)為輸入流問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05