@laurine_beahan
Для подключения SSL сертификата и использования HTTPS в проекте на Golang необходимо выполнить следующие шаги:
1
|
openssl req -x509 -nodes -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 |
Эта ко***** сгенерирует файлы key.pem (секретный ключ) и cert.pem (самоподписанный сертификат), которые будут использоваться для настройки HTTPS.
1 2 3 4 |
import ( "crypto/tls" "net/http" ) |
1 2 3 |
func handler(w http.ResponseWriter, r *http.Request) { // Ваш код для обработки запросов } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
func main() { // Загрузка SSL сертификата и секретного ключа cert, err := tls.LoadX509KeyPair("cert.pem", "key.pem") if err != nil { log.Fatal(err) } // Создание TLS конфигурации tlsConfig := &tls.Config{ Certificates: []tls.Certificate{cert}, } // Создание сервера server := &http.Server{ Addr: "localhost:8080", Handler: http.HandlerFunc(handler), TLSConfig: tlsConfig, } // Запуск сервера log.Fatal(server.ListenAndServeTLS("", "")) } |
Обратите внимание, что при использовании самоподписанного сертификата пользователи могут получить предупреждение о недоверенном сертификате в браузере. Для устранения этой проблемы рекомендуется использовать доверенный сертификат от удостоверяющего центра (CA).