تخطَّ إلى المحتوى

دعم Let's Encrypt

توفر حزمة gin-gonic/autotls HTTPS تلقائي عبر Let’s Encrypt. تتعامل مع إصدار وتجديد الشهادات تلقائياً، بحيث يمكنك تقديم HTTPS بأقل تكوين.

أبسط طريقة هي استدعاء autotls.Run مع الموجّه واسم نطاق واحد أو أكثر:

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

مدير الشهادات التلقائي المخصص

Section titled “مدير الشهادات التلقائي المخصص”

لمزيد من التحكم — مثل تحديد مجلد تخزين الشهادات مؤقتاً أو تقييد أسماء المضيفين المسموح بها — استخدم autotls.RunWithManager مع autocert.Manager مخصص:

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