Как управлять обновлением сертификата в golang с помощью джина? - PullRequest
0 голосов
/ 15 марта 2020

Вот моя проблема, у меня есть мини-сервис мини-джина, который требует https.

Но иногда мой https-файл 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
}

Как я могу сказать моей программе джина проверить, изменился сертификат или нет?

1 Ответ

2 голосов
/ 15 марта 2020

Вы периодически перезапускаете его.

Аналоговый пример, nginx сидит перед вашей программой джина:

  • Сертификаты действительны в течение 3 месяцев
  • Каждый месяц certbot renew cronjob или systemd таймер запускается
  • Каждую неделю nginx перезапускается

То же самое происходит с вашей программой джина. Вы перезапускаете программу джина (/ service) каждую неделю.

Дополнительные очки: постепенное отключение

...