컨텐츠로 건너뛰기

Let's Encrypt 지원

gin-gonic/autotls 패키지는 Let’s Encrypt를 통한 자동 HTTPS를 제공합니다. 인증서 발급과 갱신을 자동으로 처리하므로 최소한의 설정으로 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"))
}

커스텀 자동 인증서 관리자

인증서 캐시 디렉터리 지정이나 허용된 호스트 이름 제한과 같은 더 세밀한 제어를 위해 커스텀 autocert.Manager와 함께 autotls.RunWithManager를 사용합니다:

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

참고