Druid關閉監(jiān)控頁面關閉不了的問題及解決
更新時間:2024年05月27日 08:57:26 作者:weixin_45614626
這篇文章主要介紹了Druid關閉監(jiān)控頁面關閉不了的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
Druid關閉監(jiān)控頁面關閉不了
項目里連接數據庫使用了阿里開源的druid,結果被發(fā)現(xiàn)有安全漏洞,可以直接訪問到druid的監(jiān)控界面。
但是奇怪的是,明明在yml文件里配置了關閉,同時allow的訪問IP是127.0.0.1,還設置了用戶名和密碼,但是就是關不了
配置如下:
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 #默認值為true,監(jiān)控sql\慢sql等功能,我們建議修改為false,如果需要打開監(jiān)控頁面或者將慢sql輸出到日志中,則修改為true。 wall: enabled: false #默認值為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 #默認值為true,即打開監(jiān)控頁面,但存在泄漏信息的風險,所以修改為false login-username: hhhh #配置監(jiān)控頁面登錄用戶名,啟用監(jiān)控頁面后才可用,建議業(yè)務方,重新定義,別使用我們的給定值 login-password: ssdd #配置監(jiān)控頁面登錄密碼,啟用監(jiān)控頁面后才可用,建議業(yè)務方,重新定義,別使用我們的給定值 allow: 127.0.0.1 #配置允許訪問監(jiān)控頁面的IP地址 web-stat-filter: enabled: false #默認值為true,統(tǒng)計web關聯(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 #間隔多久進行一次檢測,檢測需要關閉的空閑連接 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設為true,mysql設為false。分庫分表較多推薦設置為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 #默認值為true,監(jiān)控sql\慢sql等功能,我們建議修改為false,如果需要打開監(jiān)控頁面或者將慢sql輸出到日志中,則修改為true。 wall: enabled: false #默認值為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 #默認值為true,即打開監(jiān)控頁面,但存在泄漏信息的風險,所以修改為false login-username: hhhh #配置監(jiān)控頁面登錄用戶名,啟用監(jiān)控頁面后才可用,建議業(yè)務方,重新定義,別使用我們的給定值 login-password: ssdd #配置監(jiān)控頁面登錄密碼,啟用監(jiān)控頁面后才可用,建議業(yè)務方,重新定義,別使用我們的給定值 allow: 127.0.0.1 #配置允許訪問監(jiān)控頁面的IP地址 web-stat-filter: enabled: false #默認值為true,統(tǒng)計web關聯(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 #間隔多久進行一次檢測,檢測需要關閉的空閑連接 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設為true,mysql設為false。分庫分表較多推薦設置為false pool-prepared-statements: false max-pool-prepared-statement-per-connection-size: 20 connection-init-sqls: set names utf8mb4
試了各種方法都不行,于是上網查了一下,發(fā)現(xiàn)確實是個bug(可以參考這篇文章bug)
于是解決方法就只能變成替換成hikari,怎么替換可以看我的文章hikari替換druid
關閉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 類
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Springboot?hibernate-validator?6.x快速校驗示例代碼
這篇文章主要介紹了Springboot?hibernate-validator?6.x校驗,本文以6.2.1.Final版本為例解決了log4j版本的漏洞問題,通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2021-12-12Java利用Geotools從DEM數據中讀取指定位置的高程信息全過程
Geotools作為一款功能強大且開源的地理工具庫,為地理數據的處理和分析提供了豐富的類庫和便捷的接口,能夠很好地滿足從DEM數據中讀取高程信息這一實戰(zhàn)需求,本文將深入講解如何利用Geotools從獲取DEM數據到成功讀取指定位置高程信息的全過程,需要的朋友可以參考下2025-03-03