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!