Maison  >  Article  >  développement back-end  >  Comment établir HTTPS sur un serveur Web Go à l'aide de fichiers de certificat non standard ?

Comment établir HTTPS sur un serveur Web Go à l'aide de fichiers de certificat non standard ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-07 16:32:03766parcourir

How to Establish HTTPS on a Go Web Server Using Non-Standard Certificate Files?

Comment établir HTTPS sur un serveur Web Go avec des fichiers de certificat non standard

La documentation fournie recommande de concaténer trois fichiers .pem. Cependant, si vous ne disposez pas de ces fichiers, voici comment configurer HTTPS à l'aide des fichiers de certificat que vous possédez :

Combinaison de certificats intermédiaires :

Pendant Go généralement nécessite un fichier de certificat concaténé, les autres plates-formes ne stockent que les certificats racine. Pour garantir la compatibilité, concaténez vos certificats intermédiaires :

cat website.com.ca-crt website.com.ca-bundle > website.com.full-cert.crt

Configuration de HTTPS dans Go :

Utilisez net/http/ListenAndServeTLS pour configurer HTTPS :

import (
    "fmt"
    "log"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, %q", r.URL.Path[1:])
}

func main() {
    http.HandleFunc("/", handler)
    log.Printf("Listening on port 10443. Visit https://127.0.0.1:10443/")
    err := http.ListenAndServeTLS(":10443", "website.com.full-cert.crt", "private-key.pem", nil)
    log.Fatal(err)
}

Remarques supplémentaires :

Des certificats intermédiaires sont requis pour établir la confiance entre les clients et le serveur. L'utilisation d'un fichier de certificat complet garantit la compatibilité avec tous les navigateurs et appareils.

Référez-vous à cette ressource pour plus d'informations sur la combinaison de certificats : https://kb.wisc.edu/page.php?id=18923

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