So richten Sie das HTTP Secure Transport Protocol (SSL/TLS) ein, um ein selbstsigniertes Zertifikat in Golang zu generieren. Konfigurieren Sie die TLS-Konfiguration des Golang-HTTP-Servers, einschließlich Zertifikate und Schlüssel. Erstellen Sie einen HTTP-Server mit TLS-Konfiguration.
So richten Sie das HTTP Secure Transport Protocol (SSL/TLS) in Golang ein
Einführung
Der Schutz des Webverkehrs vor Abhören und Manipulation ist von entscheidender Bedeutung, und SSL/TLS ist die Schlüsseltechnologie, mit der dieses Ziel erreicht wird . In diesem Tutorial erfahren Sie, wie Sie SSL/TLS in Golang einrichten, um Ihre HTTP-Verbindungen zu sichern.
Erstellen Sie ein selbstsigniertes Zertifikat
Da für von einer Zertifizierungsstelle (Certification Authority, CA) ausgestellte Zertifikate eine Gebühr anfällt, ist die Erstellung eines selbstsignierten Zertifikats eine praktikable Option für Entwicklungs- und Testzwecke. Ein selbstsigniertes Zertifikat kann mit dem folgenden Befehl generiert werden:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
Denken Sie daran, dass selbstsignierte Zertifikate nur innerhalb Ihrer eigenen Domäne oder Umgebung vertrauenswürdig sind und daher nicht für Produktionsumgebungen geeignet sind.
Konfigurieren Sie den Golang-HTTP-Server
Nachdem Sie das selbstsignierte Zertifikat erstellt haben, können Sie SSL/TLS im Golang-HTTP-Server konfigurieren:
package main import ( "crypto/tls" "fmt" "net/http" ) func main() { // 创建 TLS 配置 tlsConfig := &tls.Config{ Certificates: []tls.Certificate{ { // 读取生成的证书和密钥 Certificate: []byte("cert.pem"), PrivateKey: []byte("key.pem"), }, }, } // 使用 TLS 配置创建一个 HTTP 服务器 server := &http.Server{ Addr: ":443", TLSConfig: tlsConfig, } fmt.Println("正在启动 TLS HTTP 服务器...") server.ListenAndServeTLS("", "") }
Praktischer Fall
Lassen Sie uns einen einfachen Golang-HTTP-Server ausführen, um SSL/ So funktioniert TLS:
Führen Sie den folgenden Befehl im Terminal aus, um ein selbstsigniertes Zertifikat zu generieren:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
Erstellen Sie eine Go-Datei namens server.go
mit dem folgenden Code darin: server.go
的 Go 文件,其中包含以下代码:
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Hello, HTTPS!") }) fmt.Println("正在启动 HTTPS 服务器...") http.ListenAndServeTLS(":443", "cert.pem", "key.pem") }
运行服务器:
go run server.go
https://localhost:443
rrreee https://localhost:443
) auf Ihren Server zu. Bei korrekter Einrichtung sollte die Meldung „Hallo, HTTPS!“ angezeigt werden. 🎜🎜Das obige ist der detaillierte Inhalt vonWie richte ich das HTTP Secure Transport Protocol (SSL/TLS) mit Golang ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!