Bagaimana untuk Membetulkan \'x509: sijil bergantung pada medan Nama Biasa warisan\' Ralat Semasa Menyambung ke MongoDB dengan Go?

Patricia Arquette
Lepaskan: 2024-10-28 05:51:30
asal
817 orang telah melayarinya

How to Fix

Ralat: Menyambung ke Pelayan dengan Medan Nama Biasa Legasi

Apabila cuba mewujudkan sambungan ke pelayan MongoDB menggunakan Go, anda mungkin menghadapi ralat:

failed to connect: x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0
Salin selepas log masuk

Ralat ini menunjukkan bahawa sijil yang digunakan untuk pengesahan TLS mengandungi medan Common Name (CN) tetapi tidak mempunyai medan Nama Alternatif Subjek (SAN) yang diperlukan. Pelaksanaan TLS Go telah menjadi lebih ketat dalam versi terbaharu dan ia kini mengutamakan SAN berbanding CN untuk pengesahan hos.

Punca Punca:

Punca ralat ini terletak pada salah konfigurasi sijil SSL yang digunakan untuk pengesahan TLS. Sijil harus mempunyai medan SAN DNS yang sepadan dengan nama hos atau alamat IP pelayan MongoDB.

Penyelesaian:

Untuk menyelesaikan ralat ini, anda perlu menjana semula SSL sijil dengan medan SAN DNS. Ini boleh dicapai menggunakan langkah berikut:

  1. Buat CSR (Permintaan Menandatangani Sijil):

    openssl req -new \
        -subj "${SUBJ_PREFIX}/CN=${DNS}/emailAddress=${EMAIL}" \
        -key "${KEY}" \
        -addext "subjectAltName = DNS:${DNS}" \
        -out "${CSR}"
    Salin selepas log masuk
  2. Tandatangan CSR dengan Root CA Anda:

    openssl ca \
        -create_serial \
        -cert "${ROOT_CRT}" \
        -keyfile "${ROOT_KEY}" \
        -days "${CERT_LIFETIME}" \
        -in "${CSR}" \
        -batch \
        -config "${CA_CONF}" \
        -out "${CRT}"
    Salin selepas log masuk
  3. Periksa Sijil Hasil:

    openssl x509 -in server.crt -noout -text
    Salin selepas log masuk

Anda kini sepatutnya mempunyai sijil dengan bahagian SAN seperti:

X509v3 Subject Alternative Name: 
    DNS:myserver.com
Salin selepas log masuk

Setelah anda menjana semula sijil, anda boleh menggunakannya untuk mewujudkan sambungan selamat ke pelayan MongoDB tanpa menghadapi Ralat Nama Biasa.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'x509: sijil bergantung pada medan Nama Biasa warisan\' Ralat Semasa Menyambung ke MongoDB dengan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!