رفتن به محتوا

پشتیبانی از 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"))
}

مدیر گواهی خودکار سفارشی

برای کنترل بیشتر — مانند مشخص کردن دایرکتوری کش گواهی یا محدود کردن نام‌های میزبان مجاز — از 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))
}

همچنین ببینید