登录
首页 >  Golang >  Go问答

在 golang 中使用 gin 管理 certfile 的更新方法

来源:stackoverflow

时间:2024-02-22 13:24:25 174浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《在 golang 中使用 gin 管理 certfile 的更新方法》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我有一个需要 https 的迷你杜松子酒微服务。但有时,我的证书文件是用 certbot 更新的,但我不知道什么时候,而我的杜松子酒微服务仍在使用旧的证书。

func Run() {
    fmt.Println("begin")
    r := gin.Default()
    r.Use(cors.Default())
    r.POST("getLieu/", getAdr)
    r.GET("lucky/", Lucky)

    r.RunTLS((":8083"),"/etc/letsencrypt/live/toto.fr/fullchain.pem","/etc/letsencrypt/live/toto.fr/privkey.pem") // listen and serve on 0.0.0.0:8080
}

我如何告诉我的杜松子酒程序检查证书是否已更改?


解决方案


您定期重新启动它。

模拟示例,nginx 位于 gin 程序前面:

  • 证书有效期为 3 个月
  • 每个月都会运行一次 certbot renew cronjob 或 systemd 计时器
  • 每周都会重新启动 nginx

您的杜松子酒程序也会发生同样的情况。您每周都会重新启动杜松子酒程序 (/service)。

加分:graceful shutdown

我认为这个包会有帮助。

https://github.com/caddyserver/certmagic

也给这个视图:https://www.dotconferences.com/2016/10/matthew-holt-go-with-acme

我认为 ACME(自动证书管理环境)将是一个很好的功能来解决您的此类问题!

理论要掌握,实操不能落!以上关于《在 golang 中使用 gin 管理 certfile 的更新方法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>