Saya tidak dapat menyiapkan SSL. Saya telah mencari Google dan saya menemukan beberapa solusi tetapi tidak ada yang berhasil untuk saya. Saya butuh bantuan tolong ...
Inilah kesalahan yang saya dapatkan ketika saya mencoba memulai ulang nginx:
root@s17925268:~# service nginx restart
Restarting nginx: nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/nginx/conf.d/ssl/ssl.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)
nginx: configuration file /etc/nginx/nginx.conf test failed
Sertifikat saya dari StartSSL dan berlaku selama 1 tahun.
Inilah yang saya uji:
- Sertifikat dan kunci pribadi tidak memiliki spasi tambahan.
- Saya tidak menggunakan file server.key default.
- Saya memeriksa nginx.conf dan arahannya mengarah ke kunci pribadi dan sertifikat yang benar.
Saya juga memeriksa modulusnya, dan saya mendapatkan modulus yang berbeda untuk kunci dan sertifikat.
Terima kasih untuk bantuannya. :)
modulus' and the
eksponen publik 'dalam kunci dan Sertifikat harus cocok. Tidak diragukan lagi, filenya berbeda. Kunci dibuat untuk satu sertifikat tertentu.Setelah Anda menetapkan bahwa mereka tidak cocok, Anda masih memiliki masalah - apa yang harus dilakukan. Seringkali, sertifikat mungkin dirakit dengan tidak benar. Saat CA menandatangani sertifikat Anda, mereka mengirimi Anda blok yang terlihat seperti
mereka juga akan mengirimi Anda bundel (seringkali dua sertifikat) yang mewakili otoritas mereka untuk memberi Anda sertifikat. ini akan terlihat seperti ini
kecuali sayangnya, mereka tidak diberi label dengan jelas.
praktik umum, kemudian, adalah menggabungkan semua ini menjadi satu file - sertifikat Anda, lalu sertifikat penandatanganan. Namun karena tidak mudah dibedakan, terkadang seseorang secara tidak sengaja menempatkannya di urutan lain - menandatangani sertifikat, lalu sertifikat akhir - tanpa menyadarinya. Dalam hal ini, sertifikat Anda tidak akan cocok dengan kunci Anda.
Anda dapat menguji untuk melihat apa yang menurut cert itu diwakili dengan menjalankan
Di dekat bagian atas, Anda akan melihat "Subjek:" dan hal-hal yang terlihat seperti data Anda. Jika sebaliknya terlihat seperti CA Anda, paket Anda mungkin dalam urutan yang salah; Anda dapat mencoba membuat cadangan, lalu memindahkan sertifikat terakhir ke awal, dengan harapan sertifikat itu adalah sertifikat Anda.
Jika ini tidak berhasil, Anda mungkin hanya perlu mendapatkan sertifikat yang diterbitkan ulang. Ketika saya membuat CSR, saya suka memberi label dengan jelas untuk apa server itu (bukan hanya ssl.key atau server.key) dan membuat salinannya dengan tanggal dalam nama, seperti mydomain.20150306.key dll dengan cara itu pasangan kunci privat dan publik tidak mungkin tercampur dengan perangkat lain.
sumber
Periksa hash MD5 dari kunci publik untuk memastikan bahwa itu cocok dengan apa yang ada di kunci pribadi
sumber
Saya mengalami masalah ini karena saya menambahkan bundel dan sertifikat dalam urutan yang salah jadi mungkin ini bisa membantu orang lain.
Sebelumnya (yang salah):
Setelah (yang benar)
Dan Tolong jangan lupa untuk memperbarui conf yang sesuai (ssl_certificate sekarang harus mengarah ke crt yang dirantai) sebagai
Dari halaman manual nginx :
sumber
Jika hal ini terjadi dan Anda menggunakan Mari Encrypt / certbot, alasannya adalah kemungkinan besar Anda digunakan
chain.pem
sebagai penggantifullchain.pem
.Seharusnya seperti ini:
Lihat dokumen certbot "Di mana sertifikat saya?"
sumber
Saya memiliki masalah yang sama dan akhirnya menyelesaikannya dengan mengubah urutan blok pem dalam file sertifikat.
Blok cert harus diletakkan di awal file, lalu blok perantara, lalu blok root.
Saya menyadari masalah ini dengan membandingkan file sertifikat yang bermasalah dengan file sertifikat yang berfungsi.
sumber
5 sen saya untuk masalah ini:
Saya memiliki masalah yang sama. Setelah sekitar 1 jam menjaganya, ternyata saya salah menempelkan sertifikat.
Jika Anda mengalami kesalahan seperti ini, silakan periksa sertifikat Anda.
sumber
Dalam kasus saya, saya ingin mengubah sertifikat SSL, karena saya telah mengubah server saya jadi saya harus membuat CSR baru dengan perintah ini:
Saya telah mengirim file mysite.csr ke perusahaan penyedia SSL dan setelah saya menerima sertifikat crt dan kemudian saya telah memulai ulang nginx, dan saya mendapatkan kesalahan ini
Setelah banyak penyelidikan, kesalahannya adalah modul dari file kunci tidak sama dengan modul dari file crt
Jadi, untuk membuatnya berfungsi, saya telah membuat file csr baru tetapi saya harus mengubah nama file dengan perintah ini
Kemudian saya menerima file crt baru dari penyedia perusahaan, restart nginx dan berhasil.
sumber
Ini juga dapat terjadi ketika CA Anda mengeluarkan sertifikat perantara
Saya mengalami masalah ini (dua kali) dengan nginx dan tidak ada solusi dalam posting ini yang menjelaskan masalah tersebut. Pos blog di sini oleh seorang pria baik bernama Marco berhasil, dan saya menempelkannya di sini untuk siapa saja yang juga mengalami apa yang saya lihat. https://medium.com/@mrkdsgn/steps-to-install-a-go-daddy-ssl-certificate-on-nginx-on-ubuntu-14-04-ff942b9fd7ff
Dalam kasus saya, go-daddy adalah CA dan ini khusus untuk cara mereka mengeluarkan sertifikat dan bundel sertifikat perantara.
Berikut kutipan dari postingan blog Marco
Dengan Nginx, jika CA Anda menyertakan sertifikat perantara, Anda harus membuat file sertifikat berantai tunggal yang berisi sertifikat Anda dan sertifikat perantara CA.
Anda dapat menggunakan perintah ini untuk membuat file gabungan bernama example.com.chained.crt:
cat example.com.crt intermediate.crt > example.com.chained.crt
sumber
Saya kasus saya, masalahnya adalah saya membuat sertifikat tanpa memasukkan data apa pun di antarmuka cli. Ketika saya membuat ulang sertifikat dan memasukkan semua bidang: Kota, Negara Bagian, dll semuanya menjadi baik-baik saja.
sumber
Itu terjadi pada saya ketika saya menggabungkan bundle.crt dan sertifikat utama. Alasannya adalah saya menyalin sertifikat utama di bawah bundle.crt. Seharusnya sebaliknya
1 / sertifikat utama 2 / bundle.crt
sumber
Untuk Nginx:
openssl req -newkey rsa:2048 -nodes -keyout domain.com.key -out domain.com.csr
File
domain_com.crt
dan file SSLdomain_com.ca-bundle
, lalu copy file baru di pastedomain.com.chained.crt
.3: Tambahkan file nginx:
ssl_certificate /home/user/domain_ssl/domain.com.chained.crt;
ssl_certificate_key /home/user/domain_ssl/domain.com.key;
Akhir-akhir ini restart Nginx.
sumber
Kesalahan ini dapat terjadi, ketika kunci privat sertifikat (
ssl_certificate_key
misalnya,.key
atau.pem
file) tidak cocok dengan file sertifikat publik (ssl_certificate
) dalam konfigurasi Nginx Anda (checknginx.conf
atau insites-enabled/
). Pastikan kedua file cocok.Periksa log kesalahan Nginx untuk detail lebih lanjut (misalnya
/var/log/nginx/error.log
).sumber
Dalam kasus saya, saya harus menggabungkan sertifikat domain saya.
Dan di file konfigurasi /etc/nginx/nginx.conf
Mulai ulang layanan dan semuanya ok.
Sumber langkah 2: https://www.namecheap.com/support/knowledgebase/article.aspx/9781/2238/nginx-ssl-error0b080074x509-certificate-routines-x509checkprivatekeykey-values-mismatch
sumber