Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Saya Mendapat Ralat \"Rantai Sijil Tidak Lengkap\" dengan Sijil SSL GoDaddy dalam Go?

Mengapa Saya Mendapat Ralat \"Rantai Sijil Tidak Lengkap\" dengan Sijil SSL GoDaddy dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 08:46:30222semak imbas

Why Am I Getting an

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:

  • Pertimbangkan untuk menetapkan suite sifir dalam TLSConfig anda untuk keselamatan yang lebih baik.
  • Selepas membuat perubahan, uji semula sijil SSL anda menggunakan https://www.ssllabs.com untuk mengesahkan peningkatan gred sijil.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn