oioss

Форк
0
/
get_tls_cert.go 
33 строки · 844.0 Байт
1
//https://github.com/gofiber/recipes/blob/master/autocert/main.go
2
package utils
3

4
import (
5
	"crypto/tls"
6

7
	"golang.org/x/crypto/acme/autocert"
8
)
9

10
func GetTLSConfig(domain string, certdir string) *tls.Config {
11
	// Certificate manager
12
	m := &autocert.Manager{
13
		Prompt: autocert.AcceptTOS,
14
		// Replace with your domain
15
		HostPolicy: autocert.HostWhitelist(domain),
16
		// Folder to store the certificates
17
		Cache: autocert.DirCache(certdir),
18
	}
19

20
	// TLS Config
21
	cfg := &tls.Config{
22
		// Get Certificate from Let's Encrypt
23
		GetCertificate: m.GetCertificate,
24
		// By default NextProtos contains the "h2"
25
		// This has to be removed since Fasthttp does not support HTTP/2
26
		// Or it will cause a flood of PRI method logs
27
		// http://webconcepts.info/concepts/http-method/PRI
28
		NextProtos: []string{
29
			"http/1.1", "acme-tls/1",
30
		},
31
	}
32
	return cfg
33
}
34

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.