<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SpringBoot關(guān)閉druid的頁(yè)面和添加密碼驗(yàn)證方式

      這篇文章主要介紹了SpringBoot關(guān)閉druid的頁(yè)面和添加密碼驗(yàn)證方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
       

      SpringBoot關(guān)閉druid的頁(yè)面和添加密碼驗(yàn)證

      在生產(chǎn)環(huán)境中,需要關(guān)閉druid的頁(yè)面,以免被攻擊。

      application.properties配置文件中添加參數(shù)

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      # Druid 數(shù)據(jù)源監(jiān)控配置
      # 是否啟用StatViewServlet(監(jiān)控頁(yè)面)false為不啟動(dòng)
      spring.datasource.druid.stat-view-servlet.enabled=true
      spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
      # IP白名單(沒(méi)有配置或者為空,則允許所有訪問(wèn))
      spring.datasource.druid.stat-view-servlet.allow=127.0.0.1,192.168.0.1
      # IP黑名單 (存在共同時(shí),deny優(yōu)先于allow)
      spring.datasource.druid.stat-view-servlet.deny=192.168.0.0
      # 禁用HTML頁(yè)面上的“Reset All”功能
      spring.datasource.druid.stat-view-servlet.reset-enable=false
      # 登錄名
      spring.datasource.druid.stat-view-servlet.login-username=admin
      # 登錄密碼
      spring.datasource.druid.stat-view-servlet.login-password=admin

      SpringBoot集成druid監(jiān)控

      1.引入pom依賴

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      <!-- druid數(shù)據(jù)庫(kù)連接池 -->
      <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>druid</artifactId>
          <version>1.1.8</version>
      </dependency>
       
      <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>druid-spring-boot-starter</artifactId>
          <version>1.2.8</version>
      </dependency>

      2.配置文件配置監(jiān)控的屬性

      注意:如果不想要登錄頁(yè)面,配置文件中可注釋掉用戶名和密碼

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      ########## 配置StatViewServlet(監(jiān)控頁(yè)面),用于展示Druid的統(tǒng)計(jì)信息 ##########
      # 啟用StatViewServlet
      spring.datasource.druid.stat-view-servlet.enabled=true
      # 訪問(wèn)內(nèi)置監(jiān)控頁(yè)面的路徑,內(nèi)置監(jiān)控頁(yè)面的首頁(yè)是/druid/index.html
      spring.datasource.druid.stat-view-servlet.url-pattern=/druid\/*
      # 不允許清空統(tǒng)計(jì)數(shù)據(jù),重新計(jì)算
      spring.datasource.druid.stat-view-servlet.reset-enable=false
      # 配置監(jiān)控頁(yè)面訪問(wèn)用戶名
      #spring.datasource.druid.stat-view-servlet.login-username=admin
      # 配置監(jiān)控頁(yè)面訪問(wèn)密碼
      #spring.datasource.druid.stat-view-servlet.login-password=admin
      # 允許訪問(wèn)的地址,如果allow沒(méi)有配置或者為空,則允許所有訪問(wèn)
      #spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
      # 拒絕訪問(wèn)的地址,deny優(yōu)先于allow,如果在deny列表中,就算在allow列表中,也會(huì)被拒絕
      #spring.datasource.druid.stat-view-servlet.deny=
      ########## 配置WebStatFilter,用于采集web關(guān)聯(lián)監(jiān)控的數(shù)據(jù) ##########
      # 啟動(dòng) StatFilter
      spring.datasource.druid.web-stat-filter.enabled=true
      # 過(guò)濾所有url
      spring.datasource.druid.web-stat-filter.url-pattern=\/*
      # 排除一些不必要的url
      spring.datasource.druid.web-stat-filter.exclusions=/druid\/*,*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico
      # 開(kāi)啟session統(tǒng)計(jì)功能
      spring.datasource.druid.web-stat-filter.session-stat-enable=true
      # session的最大個(gè)數(shù),默認(rèn)1000
      spring.datasource.druid.web-stat-filter.session-stat-max-count=1000
      spring.datasource.druid.initial-size=5
      spring.datasource.druid.min-idle=5
      spring.datasource.druid.max-active=20
      # 配置獲取連接等待超時(shí)的時(shí)間
      spring.datasource.druid.max-wait=60000
      # 配置間隔多久才進(jìn)行一次檢測(cè),檢測(cè)需要關(guān)閉的空閑連接,單位是毫秒
      spring.datasource.druid.time-between-eviction-runs-millis=60000
      # 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒
      spring.datasource.druid.min-evictable-idle-time-millis=30000
      spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
      spring.datasource.druid.test-while-idle=true
      spring.datasource.druid.test-on-borrow=false
      spring.datasource.druid.test-on-return=false
      # 打開(kāi)PSCache,并且指定每個(gè)連接上PSCache的大小
      spring.datasource.druid.pool-prepared-statements=true
      spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
      spring.datasource.druid.filters=stat,wall
      # Spring 監(jiān)控,利用aop 對(duì)指定接口的執(zhí)行時(shí)間,jdbc數(shù)進(jìn)行記錄
      spring.datasource.druid.aop-patterns= com.admin.controller.*,com.front.controller.*

      注意:每個(gè)/*符號(hào),走做了轉(zhuǎn)譯,復(fù)制過(guò)去的話需要取消轉(zhuǎn)譯符號(hào)

      3. 運(yùn)行后,訪問(wèn)方法

      (1)可單獨(dú)訪問(wèn)整個(gè)鏈接

      (2) 需要將頁(yè)面內(nèi)嵌在項(xiàng)目中:可在后臺(tái)寫(xiě)一個(gè)方法,返回單獨(dú)訪問(wèn)的路徑

      • 后臺(tái)
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      @RestController
      @RequestMapping("/druid")
      public class DataSource {
       
          @Value("${druid.index}")
          private String druidIndex;
       
       
          @GetMapping("/druid")
          public ResponseInfo druid(HttpServletRequest request) {
              // 127.0.0.1
              String remoteAddr = RequestUtils.getRemoteAddr(request);
              // 訪問(wèn)域名 192.168.1.105
              String serverName = request.getServerName();
              // 訪問(wèn)端口號(hào)
              int port = request.getServerPort();
              String url = "http://" + serverName + ":" + port + druidIndex;
              return new ResponseInfo(url);
          }
      }
      • 配置文件druid.index
      1
      druid.index=/druid/index.html
      • 工具類
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      /**
       * 獲得真實(shí)IP地址。在使用了反向代理時(shí),直接用HttpServletRequest.getRemoteAddr()無(wú)法獲取客戶真實(shí)的IP地址。
       *
       * @param request
       *            ServletRequest
       * @return
       */
      public static String getRemoteAddr(ServletRequest request) {
          String addr = null;
          if (request instanceof HttpServletRequest) {
              HttpServletRequest hsr = (HttpServletRequest) request;
              for (String header : ADDR_HEADER) {
                  if (StringUtils.isBlank(addr) || NUKNOWN.equalsIgnoreCase(addr)) {
                      addr = hsr.getHeader(header);
                  } else {
                      break;
                  }
              }
          }
          if (StringUtils.isBlank(addr) || NUKNOWN.equalsIgnoreCase(addr)) {
              addr = request.getRemoteAddr();
          } else {
              // 對(duì)于通過(guò)多個(gè)代理的情況,第一個(gè)IP為客戶端真實(shí)IP,多個(gè)IP按','分割
              if (addr != null) {
                  int i = addr.indexOf(",");
                  if (i > 0) {
                      addr = addr.substring(0, i);
                  }
              }
       
          }
          return addr;
      }
      • 前端
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      <template>
        <iframe :src="this.txtUrl" frameborder="0" width="100%" :style="{height:calHeight}" scrolling="auto"></iframe>
      </template>
       
      <script>
       
      export default {
        name: 'datasource',
        data () {
          return {
            txtUrl: ''
          }
        },
        computed: {
            //計(jì)算屬性 , 設(shè)置iframe高度為窗口高度少100px
            calHeight() {
              return (window.innerHeight - 100) + 'px';
            }
          },
        methods: {
          fetchSysteminfo () {
          // 調(diào)用的后臺(tái)的druid方法
            this.$request.fetchDatasource().then(res => {
              if (res.code === 200) {
                this.txtUrl = res.data
              }
            }).then(this.hideTableLoading).catch(this.hideTableLoading)
          }
        },
        created () {
          this.fetchSysteminfo()
        }
      }
      </script>

      總結(jié)

      以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

      SpringBoot關(guān)閉druid的頁(yè)面和添加密碼驗(yàn)證方式_java_腳本之家

      posted @ 2025-09-17 14:18  CharyGao  閱讀(12)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 高清偷拍一区二区三区| 精品一区二区三区免费视频| 熟女熟妇乱女乱妇综合网| 狠狠色噜噜狠狠亚洲AV| 国产高清精品在线91| 一区二区三区午夜无码视频| 我要看特黄特黄的亚洲黄片| 9丨精品国产高清自在线看| 日本阿v片在线播放免费| 亚洲国产精品一区在线看| 中文字幕日韩有码av| 国产三级精品三级在专区| 四虎永久在线精品免费看| 亚洲乱码一二三四区国产| 国产重口老太和小伙| 亚洲成人资源在线观看| 国产在线国偷精品产拍| 欧美va亚洲va在线观看| 亚洲av成人无码天堂| 欧美一本大道香蕉综合视频 | 8AV国产精品爽爽ⅤA在线观看| 99久久亚洲综合精品成人网| 999精品色在线播放| 亚洲中文精品久久久久久不卡| 国产精品久久久久久久久久直播| 欧洲中文字幕国产精品| 真人抽搐一进一出视频| 东京热人妻中文无码| 国产精品av中文字幕| 国产精品夜夜春夜夜爽久久小| 国产女人叫床高潮大片| 色偷偷www.8888在线观看| 明星| 色综合人人超人人超级国碰| 4hu44四虎www在线影院麻豆| 亚洲av永久无码精品天堂久久| 遵义市| 国产亚洲999精品AA片在线爽| 717午夜伦伦电影理论片| 韩国av无码| 临洮县|