Heim > Backend-Entwicklung > Golang > Wie leite ich HTTP in einer Go-Anwendung zu HTTPS um?

Wie leite ich HTTP in einer Go-Anwendung zu HTTPS um?

Linda Hamilton
Freigeben: 2024-12-04 08:42:11
Original
1058 Leute haben es durchsucht

How to Redirect HTTP to HTTPS in a Go Application?

So leiten Sie HTTP-Verkehr in Go zu HTTPS um

Problem:

Sie haben aktiviertes TLS, sodass Ihre Go-Anwendung HTTPS-Verbindungen akzeptieren kann. Sie möchten jedoch auch den HTTP-Verkehr auf HTTPS umleiten.

Lösung:

Erstellen Sie einen benutzerdefinierten Handler zur Verarbeitung des HTTP-Verkehrs und leiten Sie ihn auf HTTPS um:

import (
    "net/http"
)

func redirectToTls(w http.ResponseWriter, r *http.Request) {
    // If you are serving on Go servers, you can use "r.Host"
    http.Redirect(w, r, "https://your-domain-name.com"+r.RequestURI, http.StatusMovedPermanently)
}
Nach dem Login kopieren

Fügen Sie als Nächstes den folgenden Code hinzu, um den HTTP-Verkehr umzuleiten:

    go func() {
        if err := http.ListenAndServe(":80", http.HandlerFunc(redirectToTls)); err != nil {
            log.Fatalf("ListenAndServe error: %v", err)
        }
    }()
Nach dem Login kopieren

Dadurch wird ein separater Code gestartet Goroutine zur Verarbeitung des HTTP-Verkehrs, bei der eingehende HTTP-Anfragen an ihre HTTPS-Gegenstücke umgeleitet werden.

Das obige ist der detaillierte Inhalt vonWie leite ich HTTP in einer Go-Anwendung zu HTTPS um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage