Rumah  >  Artikel  >  hujung hadapan web  >  Menyelesaikan Ralat 'Tidak Dapat Mendapat Sijil Pengeluar Tempatan'

Menyelesaikan Ralat 'Tidak Dapat Mendapat Sijil Pengeluar Tempatan'

DDD
DDDasal
2024-09-14 06:20:021062semak imbas

Resolving the
Apabila bekerja dengan sijil SSL/TLS, menghadapi ralat "Tidak dapat mendapatkan sijil pengeluar tempatan" boleh mengecewakan, terutamanya apabila ia mengganggu komunikasi selamat antara pelanggan dan pelayan. Sama ada anda cuba membuat permintaan HTTPS, mengkonfigurasi pelayan web atau mengakses tapak web yang selamat, ralat ini boleh mengganggu proses. Dalam panduan ini, kami akan meneroka punca, senario biasa dan penyelesaian langkah demi langkah untuk menyelesaikan isu ini.
Apakah Maksud Ralat 'Tidak Dapat Mendapat Sijil Pengeluar Tempatan'?
Ralat "Tidak dapat mendapatkan sijil pengeluar tempatan" biasanya berlaku apabila sistem tidak dapat mengesahkan rantaian sijil SSL kerana tiada atau tidak dipercayai akar atau sijil perantaraan. Sijil SSL bergantung pada rantaian amanah, yang merupakan struktur hierarki sijil yang bermula dengan sijil akar yang dikeluarkan oleh pihak berkuasa sijil yang dipercayai (CA). Jika mana-mana pautan dalam rantaian ini tiada atau tidak dikonfigurasikan dengan betul, sistem tidak dapat mewujudkan sambungan selamat, mengakibatkan ralat ini.
Senario Biasa Di Mana Ralat Berlaku
Ralat ini boleh timbul dalam pelbagai persekitaran dan situasi. Mari lihat beberapa senario yang paling biasa:
Persekitaran Pembangunan (cth., cURL, Node.js, Python)
Dalam persekitaran pembangunan, pembangun sering menggunakan alat seperti cURL, Node.js atau Python untuk membuat permintaan HTTPS. Apabila sistem tidak mempunyai sijil akar yang diperlukan, permintaan ini boleh gagal, menunjukkan ralat "Tidak dapat mendapatkan sijil pengeluar tempatan". Ini biasanya berlaku jika persekitaran pembangunan terpencil atau tidak mempunyai akses kepada sijil CA sistem.
Pelayar Web
Pelayar web mungkin memaparkan ralat ini apabila cuba mengakses tapak web yang mempunyai rantaian sijil SSL yang tidak dikonfigurasikan dengan betul. Ini mungkin kerana tapak tersebut tiada sijil perantaraan atau sedang menggunakan sijil akar tamat tempoh. Penyemak imbas menyekat akses sebagai langkah keselamatan, memberi amaran kepada pengguna tentang sambungan yang tidak dipercayai.
Konfigurasi Pelayan (cth., Apache, Nginx)
Dalam persekitaran pengeluaran, pelayan web seperti Apache dan Nginx boleh mencetuskan ralat ini jika ia tidak dikonfigurasikan dengan rantaian sijil yang betul. Sijil perantara yang salah konfigurasi atau tiada adalah punca biasa apabila menggunakan sijil SSL pada pelayan web.
Punca Ralat
Memahami punca ralat ini adalah penting untuk menyelesaikannya. Berikut ialah beberapa sebab biasa anda mungkin melihat ralat ini:

  1. Sijil Root atau Perantaraan Hilang: Pelayan tidak dapat menyediakan rantaian sijil penuh, menyebabkan pelanggan tidak mempercayai sambungan.
  2. Rantai Sijil Tersalah konfigurasi: Rantaian sijil tersalah pesanan atau tidak lengkap.
  3. Sijil Tamat Tempoh atau Tidak Dipercayai: Sijil akar mungkin telah tamat tempoh atau telah dibatalkan, menyebabkan rantaian sijil terputus.
  4. Sijil CA Lapuk: Sijil CA sistem tempatan mungkin sudah lapuk atau tiada sijil akar yang dipercayai. Bagaimana Rantaian Sijil SSL Berfungsi Untuk lebih memahami cara ralat ini berlaku, adalah penting untuk mengetahui cara rantai sijil SSL berfungsi. Rantaian sijil bermula dengan sijil akar yang dikeluarkan oleh pihak berkuasa sijil yang dipercayai. Sijil akar ini digunakan untuk mengesahkan sijil perantaraan, yang seterusnya mengesahkan sijil pelayan. Jika mana-mana sijil dalam rantaian ini tiada atau tidak dipercayai, pelanggan tidak akan dapat mengesahkan sijil pelayan, mengakibatkan ralat "Tidak dapat mendapatkan sijil pengeluar tempatan". Memastikan rantaian penuh dikonfigurasikan dengan betul adalah kunci untuk mencegah isu ini. Langkah Penyelesaian Masalah untuk Menyelesaikan Ralat Sekarang setelah kita memahami apa yang menyebabkan ralat ini, mari kita lihat cara menyelesaikannya. Berikut adalah beberapa langkah yang boleh anda ikuti:
  5. Sahkan Rantaian Sijil Salah satu perkara pertama yang perlu anda lakukan ialah mengesahkan rantaian sijil SSL. Anda boleh menggunakan alat seperti OpenSSL untuk memeriksa rantaian dan melihat sama ada mana-mana sijil hilang atau salah konfigurasi. Sebagai contoh, menggunakan arahan berikut boleh membantu anda menyemak rantaian sijil: bash Salin kod openssl s_client -connect yourdomain.com:443 -showcerts Perintah ini akan memaparkan sijil pelayan dan sijil perantaraan yang diberikannya. Jika rantai tidak lengkap, anda akan tahu sijil yang tiada.
  6. Kemas kini Sijil Root Dipercayai Jika ralat berlaku kerana pelanggan kehilangan sijil akar yang dipercayai, mengemas kini sijil akar yang dipercayai sistem anda boleh menyelesaikan masalah. Di Linux, sebagai contoh, anda boleh mengemas kini sijil CA dengan arahan berikut: bash Salin kod sudo kemas kini-ca-sijil Perintah ini memastikan sistem anda mempunyai set sijil akar yang dipercayai terkini, membantu menyelesaikan isu tersebut.
  7. Konfigurasikan Himpunan Sijil Dengan Betul Apabila mengkonfigurasi SSL pada pelayan seperti Apache atau Nginx, adalah penting untuk menggabungkan sijil pelayan dengan sijil perantaraan dan akar ke dalam satu berkas sijil. Jika himpunan tidak lengkap atau tidak teratur, pelanggan tidak akan dapat mengesahkan rantaian sijil, mengakibatkan ralat. Pastikan untuk mengkonfigurasi rantaian sijil dengan betul semasa menyediakan pelayan web anda. Pembetulan Khusus Platform Platform dan alatan yang berbeza memerlukan penyelesaian khusus untuk membetulkan ralat "Tidak dapat mendapatkan sijil pengeluar tempatan". Berikut ialah pembetulan untuk persekitaran pembangunan biasa:
  8. cURL Dalam cURL, ralat ini selalunya boleh diselesaikan dengan menentukan berkas CA yang betul menggunakan bendera --cacert. Anda boleh memuat turun sijil CA terkini dan menggunakannya seperti berikut: bash Salin kod curl --cacert /path/to/cacert.pem https://yourdomain.com Sebagai alternatif, anda boleh mengemas kini sijil CA pada sistem anda, yang cURL akan digunakan secara lalai.
  9. Node.js Untuk Node.js, anda mungkin perlu mengemas kini pembolehubah persekitaran NODE_EXTRA_CA_CERTS untuk memasukkan laluan ke sijil CA anda. Anda boleh melakukan ini dengan arahan berikut: bash Salin kod eksport NODE_EXTRA_CA_CERTS="/path/to/cacert.pem" Ini akan membolehkan Node.js menggunakan berkas CA yang ditentukan apabila membuat permintaan HTTPS.
  10. Permintaan Python Dalam Python, perpustakaan permintaan popular mungkin mencetuskan ralat ini jika ia tidak dapat mencari sijil CA yang diperlukan. Memasang pakej certifi, yang termasuk senarai terkini sijil akar yang dipercayai, biasanya menyelesaikan isu: bash Salin kod sijil pemasangan pip Anda juga boleh menentukan berkas CA secara langsung dalam kod anda menggunakan parameter pengesahan: ular sawa Salin kod permintaan import requests.get('https://yourdomain.com', verify='/path/to/cacert.pem') Menghalang Ralat 'Tidak Dapat Mendapat Sijil Pengeluar Tempatan' Untuk mengelakkan ralat ini pada masa hadapan, anda harus memastikan bahawa sistem anda sentiasa dikemas kini dengan sijil akar yang dipercayai. Mengautomasikan pengesahan sijil SSL semasa penggunaan dan menggunakan alatan untuk memeriksa rantaian sijil boleh membantu mengenal pasti isu yang berpotensi sebelum ia memberi kesan kepada persekitaran pengeluaran. Selain itu, sentiasa pastikan rantaian sijil dikonfigurasikan dengan betul dengan semua sijil perantaraan yang diperlukan. Kesimpulan Ralat "Tidak dapat mendapatkan sijil pengeluar tempatan" boleh mengganggu sambungan selamat, tetapi dengan memahami isu asas dengan rantaian sijil SSL dan menggunakan pembetulan disasarkan, anda boleh menyelesaikan masalah ini dengan berkesan. Sama ada anda menggunakan alat pembangunan seperti cURL dan Node.js atau mengkonfigurasi pelayan pengeluaran, mengikut langkah penyelesaian masalah yang digariskan dalam panduan ini akan membantu anda mengenal pasti dan membetulkan puncanya. Dengan memastikan sijil CA sistem anda dikemas kini dan mengesahkan konfigurasi SSL semasa penggunaan, anda boleh menghalang ralat ini daripada berlaku pada masa hadapan.

Atas ialah kandungan terperinci Menyelesaikan Ralat 'Tidak Dapat Mendapat Sijil Pengeluar Tempatan'. 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