Lewati ke konten

Dukungan Let's Encrypt

Paket gin-gonic/autotls menyediakan HTTPS otomatis melalui Let’s Encrypt. Paket ini menangani penerbitan dan pembaruan sertifikat secara otomatis, sehingga Anda dapat menyajikan HTTPS dengan konfigurasi minimal.

Cara paling sederhana adalah memanggil autotls.Run dengan router Anda dan satu atau lebih nama domain:

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"))
}

Untuk kontrol lebih — seperti menentukan direktori cache sertifikat atau membatasi hostname yang diizinkan — gunakan autotls.RunWithManager dengan autocert.Manager kustom:

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))
}