Maison >développement back-end >Golang >Comment rediriger efficacement HTTP vers HTTPS dans Go ?

Comment rediriger efficacement HTTP vers HTTPS dans Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-30 17:38:11770parcourir

How to Efficiently Redirect HTTP to HTTPS in Go?

Redirection HTTP vers HTTPS dans Go

Cet article aborde la problématique de la redirection du trafic HTTP vers HTTPS dans les applications Go. Malgré la configuration réussie de TLS, il est crucial de comprendre comment mettre en œuvre cette redirection efficacement.

Établissement du gestionnaire de redirection

Pour lancer la redirection, créez un gestionnaire qui gère la redirection. vers HTTPS. Voici un exemple :

func redirectToTls(w http.ResponseWriter, r *http.Request) {
    http.Redirect(w, r, "https://IPAddr:443"+r.RequestURI, http.StatusMovedPermanently)
}

Ce gestionnaire redirigera les requêtes HTTP vers leurs homologues HTTPS correspondants, en utilisant l'adresse IP et le port 443.

Redirection du trafic HTTP

Une fois le gestionnaire de redirection établi, il est nécessaire de rediriger le trafic HTTP entrant vers celui-ci. Ceci peut être réalisé en lançant une goroutine qui écoute sur le port 80 et sert le gestionnaire de redirection :

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

Cette goroutine écoutera en permanence sur le port 80 et redirigera toutes les requêtes HTTP entrantes vers HTTPS, garantissant ainsi que tout le trafic est crypté.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn