РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1054 of 1593 menu

Метод http.Server.ListenAndServeTLS

Метод http.Server.ListenAndServeTLS запускает HTTPS сервер, используя TLS (Transport Layer Security) для шифрования трафика. Он принимает два строковых параметра: путь к файлу сертификата и путь к файлу закрытого ключа. Метод блокирует выполнение программы до тех пор, пока сервер не будет остановлен. В случае ошибки запуска возвращается ошибка типа error.

Синтаксис

err := server.ListenAndServeTLS(certFile, keyFile)

Пример

Давайте создадим простой HTTPS сервер, который будет обрабатывать запросы на корневой путь:

package main import ( "fmt" "net/http" ) func main() { handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, HTTPS world!") }) server := &http.Server{ Addr: ":443", Handler: handler, } err := server.ListenAndServeTLS("server.crt", "server.key") if err != nil { fmt.Printf("Server error: %v\n", err) } }

Результат выполнения кода при успешном запуске:

(сервер слушает на порту 443)

Пример

Давайте настроим сервер с пользовательским обработчиком и пользовательским портом:

package main import ( "fmt" "net/http" "time" ) func main() { mux := http.NewServeMux() mux.HandleFunc("/api", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "API endpoint accessed at %s", time.Now().Format(time.RFC3339)) }) server := &http.Server{ Addr: ":8443", Handler: mux, ReadTimeout: 5 * time.Second, WriteTimeout: 10 * time.Second, } err := server.ListenAndServeTLS("cert.pem", "key.pem") if err != nil { fmt.Printf("Failed to start server: %v\n", err) } }

Результат выполнения кода при успешном запуске:

(сервер слушает на порту 8443)

Смотрите также

  • функцию http.ListenAndServeTLS,
    которая запускает HTTPS сервер с использованием глобального обработчика
  • метод http.Server.ListenAndServe,
    который запускает HTTP сервер без шифрования
  • функцию http.ListenAndServe,
    которая запускает HTTP сервер с глобальным обработчиком
  • метод http.Server.Serve,
    который запускает сервер на основе переданного слушателя
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить