Maison > développement back-end > Golang > Un article analysant comment déterminer si une requête est http ou https in go

Un article analysant comment déterminer si une requête est http ou https in go

藏色散人
Libérer: 2023-03-02 19:56:18
avant
3695 Les gens l'ont consulté

Cet article vous apporte des connaissances pertinentes sur go. Il explique principalement comment déterminer si la requête est http ou https en golang (utilisée pour obtenir l'adresse d'accès actuelle). Les amis intéressés devraient y jeter un œil. vous sera utile. Tout le monde est utile.

Déterminez si la demande est http ou https en golang - utilisé pour obtenir l'adresse d'accès actuelle

Développeur indépendant indépendant, le journal de développement du système de service client en ligne

Aujourd'hui, une configuration a été ajoutée au service client système pour configurer le WeChat interne de l'entreprise. Le webhook du robot de notification de groupe, lorsque de nouveaux messages arrivent, appelle le webhook et le transmet au groupe WeChat de l'entreprise. Le contenu des nouveaux messages prend en charge le markdown et peut apporter des liens. Si vous souhaitez apporter le lien de l'URL actuelle, vous pouvez cliquer directement pour répondre au message. Ce qui suit est un résumé des points de connaissances techniques impliqués.

Si un proxy inverse tel que nginx n'est pas utilisé

Vous pouvez directement utiliser le code suivant pour confirmer Le champ TLS de la structure http.Request détermine si la requête utilise le protocole HTTPS. Si ce champ n'est pas nul, cela signifie que la requête utilise le protocole HTTPS ; sinon, cela signifie que la requête utilise le protocole HTTP

package main
import (
    "fmt"
    "net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
    if r.TLS != nil {
        fmt.Println("HTTPS request")
    } else {
        fmt.Println("HTTP request")
    }
}
func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}
Copier après la connexion

Après être passé par un proxy inverse

Le code ci-dessus est invalide, vous pouvez utiliser la méthode suivante

Si vous utilisez Si vous disposez d'un proxy inverse nginx, vous devez vous assurer que le paramètre d'en-tête suivant

location / {
    proxy_pass http://your_upstream_server;
    proxy_set_header X-Forwarded-Proto $scheme;
}
Copier après la connexion

【Recommandation associée :

Tutoriel vidéo Go

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!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal