Isu SSL: Rantaian Sijil Tidak Lengkap dengan Sijil GoDaddy
Apabila menyediakan pelayan web HTTPS menggunakan sijil SSL GoDaddy, anda mungkin menghadapi ralat "Rantaian sijil pelayan ini tidak lengkap." Ini boleh disebabkan oleh salah konfigurasi dalam kod Go anda.
Penyelesaian:
Untuk menyelesaikan isu ini, pastikan fail sijil yang digunakan dalam ListenAndServeTLS() mengandungi yang lengkap rantai sijil. Ini termasuk sijil pelayan, sijil perantaraan (jika ada) dan sijil CA akar.
Dalam kod anda, anda sedang memuatkan fail sijil utama dan kunci peribadi, tetapi anda kehilangan fail berkas , yang biasanya mengandungi sijil perantaraan.
Ganti baris berikut:
err := srv.ListenAndServeTLS("cert/myalcoholist.pem","cert/myalcoholist.key")
dengan ini:
cert, err := tls.LoadX509KeyPair("cert/myalcoholist.pem","cert/myalcoholist.key") if err != nil { log.Fatalf("server: loadkeys: %s", err) } pem, err := ioutil.ReadFile("cert/cert/sf_bundle-g2-g1.crt") if err != nil { log.Fatalf("Failed to read client certificate authority: %v", err) } if !certpool.AppendCertsFromPEM(pem) { log.Fatalf("Can't parse client certificate authority") } tlsConfig := &tls.Config{ ClientCAs: certpool, Certificates: []tls.Certificate{cert}, } srv := &http.Server{ Addr: "myalcoholist.com:443", Handler: n, ReadTimeout: time.Duration(5) * time.Second, WriteTimeout: time.Duration(5) * time.Second, TLSConfig: tlsConfig, } err := srv.ListenAndServeTLS("cert/myalcoholist.pem","cert/myalcoholist.key")
Ini akan memuatkan rantai sijil yang lengkap dan mengkonfigurasi TLSConfig sewajarnya.
Petua Tambahan:
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Rantai Sijil Tidak Lengkap\' dengan Sijil SSL GoDaddy dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!