golang-gin-pprof-使用以及安全问题

pprof是golang的提供的性能分析工具

直接通过引用github.com/gin-contrib/pprof即可调用
项目代码节选展示:

	//性能调优监视 TODO Gin自主隐藏,待优化
	authStr := fmt.Sprintf("Basic %s", base64.StdEncoding.EncodeToString([]byte(config.ProducerUsername+":"+config.ProducerPassword)))
	pprofGroup := r.Group("/producer", func(c *gin.Context) {
		auth := c.Request.Header.Get("Authorization")
		if auth != authStr {
			c.Header("www-Authenticate", "Basic")
			c.AbortWithStatus(http.StatusUnauthorized)
			return
		}
		c.Next()
	})

	pprof.RouteRegister(pprofGroup, "flowerxxxxx_pprof")

Gin框架所携带的pprof直接调用即可,但是在生产环境中会引发暴露的问题,导致/debug/pprof接口暴露到公网。
我们将接口注册到新的路由组里,并且将(账号+冒号+密码)Base64后并添加Basic标识,即可触发访问也要输入账号和密码的保护机制。

在这里插入图片描述

项目(中小型)pprof分析概览,可查看是否存在goroutine死锁或者cpu异常占用问题。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值