Ups, tidak ada sertifikat server RSA atau DSA yang ditemukan untuk 'server.host.name★'?

18

Saya menyiapkan server web baru yang menampung selusin host virtual di Ubuntu 12.4 menggunakan Apache 2.2.22 dengan satu file konfigurasi per situs. Saya membuat semua file konfigurasi sekaligus dan berlari a2ensite *untuk mengaktifkan semuanya sekaligus. Ketika saya memuat ulang konfigurasi itu gagal dan setelah restart apache saya menemukan pesan kesalahan berikut di error.log saya:

Ups, tidak ada sertifikat server RSA atau DSA yang ditemukan untuk 'server.host.name★' ?!

Sebagian besar hasil untuk pesan kesalahan ini berumur bertahun-tahun yang tidak memperbaiki masalah atau bug yang telah diperbaiki https://issues.apache.org/bugzilla/show_bug.cgi?id=31709

Scott Keck-Warren
sumber

Jawaban:

4

Masalahnya akhirnya berada di file konfigurasi yang berbeda dari host yang terdaftar dalam kesalahan. Itu karena fakta bahwa ada duplikat nilai ServerName di dua file. Saya memperbaiki yang salah dan mulai kembali (sampai jumpa setengah jam) :-).

Untuk memecahkan masalah ini, saya menonaktifkan semua situs dan kemudian mengaktifkan pasangan sekaligus sampai saya mengalami masalah lagi.

Scott Keck-Warren
sumber
1

Anda juga dapat menerima kesalahan ini jika Anda menggunakan sertifikat dengan beberapa nama alternatif subjek, tetapi ServerNamearahan tidak cocok dengan nilai CN atau SAN dari sertifikat. IT sering menjadi kasus di mana pengembang menginginkan versi pengembangan dari situs produksi yang sama, tetapi tidak ada sertifikat nyata untuk situs pengembangan.

Contoh situs web:
webserver.example.com
webserver-dev.example.com

Sertifikat:
CN =
primaryserver.example.com SANs = webserver.example.com, puppies.example.com, kittens.example.com

Konfigurasi berikut ini akan menyebabkan kesalahan ini:
/etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver.example.com ...
/etc/apache2/sites-enabled/webserver-dev.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver-dev.example.com ...

Konfigurasi berikut mengatasi masalah ini:
/etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver.example.com ...
/etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost webserver-dev.example.com:443> ServerName webserver.example.com ...

BrianCanFixIT
sumber
0

FWIW, saya baru saja mengalami masalah ini lagi, dengan kedok yang berbeda.

Jika Anda menggunakan sertifikat wildcard SSL, pastikan bahwa entri VirtualHost untuk domain (domain.com) terdaftar sebelum yang lain (foo.domain.com, bar.domain.com, dll).

Saya mencoba hal konfigurasi satu per satu, dan semuanya berjalan dengan baik sampai saya menambahkan file yang satu ini kembali.

Kemudian saya memutar pada nama file config yang lebih rendah secara alfabet dari pada file konfigurasi dengan "definisi domain primer". Mengubah symlink sehingga ditempatkan setelah def utama dan semuanya bekerja seperti pesona.

Contoh gagal daftar pesanan:

foo.domain.conf
prim.domain.conf
something.domain.conf

Contoh daftar kerja:

prim.domain.conf
something.domain.conf
zfoo.domain.conf

HTH orang lain :)

Will L
sumber