Maison > Article > développement back-end > Comment concaténer des certificats PEM pour HTTPS sur les serveurs Web Go ?
Concaténation de certificats PEM pour HTTPS dans le serveur Web Go
Lors de la configuration de HTTPS pour un serveur Web Go, vous rencontrez souvent le besoin de concaténer plusieurs fichiers de certificat PEM. Ce processus est essentiel pour créer une chaîne de certificats complète qui comprend à la fois votre certificat principal et vos certificats intermédiaires.
Obtention de certificats intermédiaires
En général, vous recevrez un ensemble de fichiers PEM lorsque vous achetez un certificat SSL, notamment :
Concaténation des certificats
Conformément à la documentation sur https://www.kaihag.com/https-and-go/, vous devez concaténer les fichiers PEM suivants :
Pour ce faire, vous pouvez utilisez la commande suivante (en supposant que les fichiers se trouvent dans le répertoire actuel) :
cat website.com.ca-bundle website.com.crt > full-cert.crt
Cela crée un fichier de certificat combiné nommé full-cert.crt, qui contient à la fois les certificats intermédiaires et votre certificat principal.
Configuration HTTPS dans Go
Une fois que vous disposez d'un fichier de certificat concaténé, vous pouvez utiliser la fonction http.ListenAndServeTLS pour démarrer votre serveur HTTPS dans Go. Voici un exemple d'extrait de code :
package main import ( "log" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello, HTTPS!")) } func main() { log.Printf("About to listen on 10443. Go to https://127.0.0.1:10443/") err := http.ListenAndServeTLS(":10443", "full-cert.crt", "private-key.pem", nil) log.Fatal(err) }
Remplacez full-cert.crt par le nom de votre fichier de certificat concaténé et private-key.pem par le nom de votre fichier de clé privée. Exécutez le programme et accédez à https://127.0.0.1:10443/ pour confirmer que HTTPS fonctionne correctement.
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!