最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2024年05月27日 09:22:49   作者:撈起月亮的漁民小豪  
這篇文章主要介紹了SpringBoot關(guān)閉druid的頁面和添加密碼驗(yàn)證方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

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

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

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

# Druid 數(shù)據(jù)源監(jiān)控配置
# 是否啟用StatViewServlet(監(jiān)控頁面)false為不啟動(dòng)
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
# IP白名單(沒有配置或者為空,則允許所有訪問)
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頁面上的“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依賴

<!-- druid數(shù)據(jù)庫連接池 -->
<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)控的屬性

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

########## 配置StatViewServlet(監(jiān)控頁面),用于展示Druid的統(tǒng)計(jì)信息 ##########
# 啟用StatViewServlet
spring.datasource.druid.stat-view-servlet.enabled=true
# 訪問內(nèi)置監(jiān)控頁面的路徑,內(nèi)置監(jiān)控頁面的首頁是/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)控頁面訪問用戶名
#spring.datasource.druid.stat-view-servlet.login-username=admin
# 配置監(jiān)控頁面訪問密碼
#spring.datasource.druid.stat-view-servlet.login-password=admin
# 允許訪問的地址,如果allow沒有配置或者為空,則允許所有訪問
#spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
# 拒絕訪問的地址,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
# 過濾所有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
# 開啟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)行一次檢測,檢測需要關(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
# 打開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ù)制過去的話需要取消轉(zhuǎn)譯符號(hào)

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

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

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

  • 后臺(tái)
@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);
        // 訪問域名 192.168.1.105
        String serverName = request.getServerName();
        // 訪問端口號(hào)
        int port = request.getServerPort();
        String url = "http://" + serverName + ":" + port + druidIndex;
        return new ResponseInfo(url);
    }
}

  • 配置文件druid.index
 druid.index=/druid/index.html
  • 工具類
/**
 * 獲得真實(shí)IP地址。在使用了反向代理時(shí),直接用HttpServletRequest.getRemoteAddr()無法獲取客戶真實(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ì)于通過多個(gè)代理的情況,第一個(gè)IP為客戶端真實(shí)IP,多個(gè)IP按','分割
		if (addr != null) {
			int i = addr.indexOf(",");
			if (i > 0) {
				addr = addr.substring(0, i);
			}
		}

	}
	return addr;
}
  • 前端
<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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解析Java中的隊(duì)列和用LinkedList集合模擬隊(duì)列的方法

    解析Java中的隊(duì)列和用LinkedList集合模擬隊(duì)列的方法

    這篇文章主要介紹了解析Java中的隊(duì)列和用LinkedList集合模擬隊(duì)列的方法,相關(guān)算法的實(shí)現(xiàn)也是ACM中的常見題目,需要的朋友可以參考下
    2015-08-08
  • Spring @ComponentScan注解使用案例詳細(xì)講解

    Spring @ComponentScan注解使用案例詳細(xì)講解

    @ComponentScan注解的作用可以簡述為:將項(xiàng)目中所有被@Component注解直接或者間接標(biāo)記的類---->組裝成BeanDefinition---->然后以key=beanName, value=BeanDefinition的形式存儲(chǔ),為后續(xù)生成bean對(duì)象做準(zhǔn)備
    2023-03-03
  • JavaWeb實(shí)現(xiàn)學(xué)生管理系統(tǒng)的超詳細(xì)過程

    JavaWeb實(shí)現(xiàn)學(xué)生管理系統(tǒng)的超詳細(xì)過程

    學(xué)生信息管理系統(tǒng)是針對(duì)學(xué)校人事處的大量業(yè)務(wù)處理工作而開發(fā)的管理軟件,主要用于學(xué)校學(xué)生信息管理,下面這篇文章主要給大家介紹了關(guān)于JavaWeb實(shí)現(xiàn)學(xué)生管理系統(tǒng)的超詳細(xì)過程,需要的朋友可以參考下
    2023-05-05
  • Spring?InitializingBean的使用方式

    Spring?InitializingBean的使用方式

    InitializingBean是Spring框架中的一個(gè)生命周期接口,用于在Bean的屬性設(shè)置完成后執(zhí)行自定義的初始化邏輯,本文給大家介紹spring?InitializingBean的使用方式,感興趣的朋友小編一起看看吧
    2026-01-01
  • 詳解Java 中的 AutoCloseable 接口

    詳解Java 中的 AutoCloseable 接口

    本文對(duì) try-with-resources 語法進(jìn)行了較為深入的剖析,驗(yàn)證了其為一種語法糖,同時(shí)給出了其實(shí)際的實(shí)現(xiàn)方式的反編譯結(jié)果,相信你在看完本文后,關(guān)于 AutoCloseable 的使用你會(huì)有新的收獲。
    2020-11-11
  • IDEA 中使用 ECJ 編譯出現(xiàn) java.lang.IllegalArgumentException的錯(cuò)誤問題

    IDEA 中使用 ECJ 編譯出現(xiàn) java.lang.IllegalArgumentException的錯(cuò)誤問題

    這篇文章主要介紹了IDEA 中使用 ECJ 編譯出現(xiàn) java.lang.IllegalArgumentException問題 ,本文內(nèi)容簡短給大家介紹的好,需要的朋友可以參考下
    2020-05-05
  • JavaIO字符操作和對(duì)象操作示例詳解

    JavaIO字符操作和對(duì)象操作示例詳解

    這篇文章主要為大家介紹了JavaIO字符操作和對(duì)象操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Java使用elasticsearch基礎(chǔ)API使用案例講解

    Java使用elasticsearch基礎(chǔ)API使用案例講解

    這篇文章主要介紹了Java使用elasticsearch基礎(chǔ)API使用案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java二路歸并排序示例分享

    java二路歸并排序示例分享

    這篇文章主要介紹了java二路歸并排序示例,需要的朋友可以參考下
    2014-02-02
  • BUUCTF-easy java WEB-INF/web.xml泄露漏洞及其利用方式

    BUUCTF-easy java WEB-INF/web.xml泄露漏洞及其利用方式

    這篇文章主要介紹了BUUCTF-easy java WEB-INF/web.xml泄露漏洞及其利用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評(píng)論

绍兴县| 措美县| 西乡县| 吉隆县| 陕西省| 临西县| 江城| 西宁市| 弋阳县| 东莞市| 句容市| 博白县| 来凤县| 泉州市| 临澧县| 东阳市| 科技| 英德市| 梁平县| 东源县| 儋州市| 星座| 金坛市| 慈利县| 乌鲁木齐县| 盐亭县| 石河子市| 汝阳县| 三都| 乐平市| 青冈县| 泰州市| 丰镇市| 丰原市| 香格里拉县| 唐河县| 凤凰县| 五华县| 大名县| 资兴市| 平乡县|