Masalah menginstal sertifikat SSL di nginx dengan kunci perantara

11

Saya mencoba menginstal sertifikat SSL di server Ubuntu saya. Saya telah membeli sertifikat dari CA saya dan telah mengunduh sertifikat itu sendiri dan sertifikat perantara. Seperti itu:

sertifikat saya: mydomain.crt
sertifikat perantara: GandiStandardSSLCA.pem

Saya juga punya (dibuat menggunakan openssl)

kunci pribadi saya (?): mydomain.key
dan permintaan penandatanganan: mydomain.csr

Saya telah mengunggah semua file ini ke server saya dan mengikuti panduan untuk menggabungkan sertifikat saya dengan perantara:

cat mydomain.crt GandiStandardSSLCA.pem > mydomain-bundle.crt

Saya kemudian menambahkan yang berikut ini ke konfigurasi vhost saya:

listen   443 ssl;
ssl_certificate       /etc/nginx/ssl/mydomain-bundle.crt;
ssl_certificate_key   /etc/nginx/ssl/mydomain.key;

Tetapi ketika saya pergi untuk me-restart nginx saya mendapatkan kesalahan ini:

* Memulai ulang nginx
* Menghentikan nginx nginx [OK]
nginx: [emerg] SSL_CTX_use_PrivateKey_file ("/ etc / nginx / ssl / mydomain.key") gagal (SSL: kesalahan: 0B080074 rutinitas sertifikat x509: nilai kunci: nilai kunci: nilai kunci: kunci file konfigurasi /etc/nginx/nginx.conf gagal

Adakah ide mengapa dan bagaimana mengatasinya?

harryg
sumber
apa yang "openssl memverifikasi -untuk-ca-bundle mydomain-bundle.crt" katakan?
Danila Ladner
apa ca-bundle?
harryg

Jawaban:

17

Apakah daftar kunci Anda ok:

openssl rsa -in /etc/nginx/ssl/mydomain.key

Lakukan modulus kunci dan kecocokan sertifikat:

openssl x509  -in mydomain.crt -modulus 

openssl rsa  -in qa.server.key  -modulus

Angka-angka ini harus cocok.

davey
sumber
ya, daftar kuncinya ok dan pertandingan modulae. Saya hanya bisa mendaftar sebagai root. Mungkinkah ini masalah kepemilikan
harryg
dengan asumsi qa.server.keyadalah kunci pribadi saya
harryg
Perhatikan bahwa urutan penyatuan sertifikat (sertifikat SLL dan Menengah) sangat penting. @ Davey membantu saya mengetahui bahwa saya memiliki agregat CRT yang salah.
Jerome
Luar biasa. Saya menggunakan file yang salah untuk ssl_certificate. Perintah-perintah modulas membantu saya menemukan bahwa itu masalahnya. Jenius!
Ralph
Jika mereka tidak cocok? lalu apa ...
Zach Smith