Сертификат будем использовать свободный, который выдает Let’s Encrypt, для получения самого сертификата воспользуемся утилитой СertBot. Данный процесс хорошо расписан на этих ресурсах и повторять его тут не имеет смысла.
И так приступим...
Первое это мы добавляем переменные которые будут указывать сам сертификат и закрытый ключ, и запускаем https сервер в отдельном потоке - гороутине (goroutine)
... log.Printf("Loading Certificates %s/%s/{privkey.pem,fullchain.pem}\n", *cert, *host) keyPath := filepath.Join(*cert, *host, "privkey.pem") certPath := filepath.Join(*cert, *host, "fullchain.pem") ... /*** HTTPS ***/ log.Println("Listening on https port: ", int(*port)+363) go func() { if err := http.ListenAndServeTLS(":"+strconv.Itoa(int(*port)+363), certPath, keyPath, nil); err != nil { log.Fatal("HTTPS Listen and Serve: ", err) os.Exit(1) } }() ...Вот и все, теперь у нас есть два веб-сервера, один на порту 26980 (http) и второй на порту 27343 (https)
Немає коментарів:
Дописати коментар