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
Linda HamiltonOriginal
2024-12-04 08:42:11967Durchsuche

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)
}

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)
        }
    }()

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!

Stellungnahme:
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