Soporte para Let's Encrypt
El paquete gin-gonic/autotls proporciona HTTPS automático mediante Let’s Encrypt. Maneja la emisión y renovación de certificados automáticamente, para que puedas servir HTTPS con configuración mínima.
Inicio rápido
La forma más sencilla es llamar a autotls.Run con tu router y uno o más nombres de dominio:
package main
import ( "log"
"github.com/gin-gonic/autotls" "github.com/gin-gonic/gin")
func main() { router := gin.Default()
router.GET("/ping", func(c *gin.Context) { c.String(200, "pong") })
log.Fatal(autotls.Run(router, "example1.com", "example2.com"))}Gestor de autocert personalizado
Para más control — como especificar un directorio de caché de certificados o restringir los nombres de host permitidos — usa autotls.RunWithManager con un autocert.Manager personalizado:
package main
import ( "log"
"github.com/gin-gonic/autotls" "github.com/gin-gonic/gin" "golang.org/x/crypto/acme/autocert")
func main() { router := gin.Default()
router.GET("/ping", func(c *gin.Context) { c.String(200, "pong") })
m := autocert.Manager{ Prompt: autocert.AcceptTOS, HostPolicy: autocert.HostWhitelist("example1.com", "example2.com"), Cache: autocert.DirCache("/var/www/.cache"), }
log.Fatal(autotls.RunWithManager(router, &m))}