1. можно создать самоподписанный сертификат. В реальном приложении рекомендуется использовать сертификат от надежного поставщика.

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

Эта команда создаст два файла: key.pem (приватный ключ) и cert.pem (сертификат).

Создайте файл main.go и добавьте следующий код:

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, HTTPS!")
}

func main() {
    http.HandleFunc("/", handler)

    // Укажите пути к вашим сертификатам
    certFile := "cert.pem"
    keyFile := "key.pem"

    // Запуск HTTPS-сервера
    fmt.Println("Starting server on :443")
    err := http.ListenAndServeTLS(":443", certFile, keyFile, nil)
    if err != nil {
        fmt.Printf("Server failed to start: %s\n", err)
    }
}

Запуск сервера:
Убедитесь, что у вас есть права суперпользователя для запуска сервера на порту 443 (стандартный порт для HTTPS).

sudo go run main.go

Проверка работы:
Откройте браузер и перейдите по адресу https://localhost. Вы должны увидеть сообщение "Hello, HTTPS!".

