На жаль, не знайдено сертифікат сервера RSA або DSA для "server.host.nameSense"?


18

Я налаштовую новий веб-сервер, який розміщує десяток віртуальних хостів на Ubuntu 12.4 за допомогою Apache 2.2.22 з одним файлом конфігурації на кожен сайт. Я створив усі файли конфігурації відразу і побіг, a2ensite *щоб увімкнути їх усі. Коли я перезавантажив конфігурацію, вона не вдалася, і після перезапуску apache я знайшов таке повідомлення про помилку в своєму error.log:

На жаль, не знайдено сертифікат сервера RSA або DSA для "server.host.name Onda" ?!

Більшість результатів цього повідомлення про помилку - це років, які не вирішують проблему, або помилки, які були виправлені https://isissue.apache.org/bugzilla/show_bug.cgi?id=31709

Відповіді:



4

Проблема виявилася в іншому файлі конфігурації, ніж хост, який вказаний у помилці. Це було пов'язано з тим, що у двох файлах були дублюючі значення ServerName. Я виправив неправильний, і він почав створювати резервні копії (до побачення, що півгодини) :-).

Щоб вирішити цю проблему, я відключив усі сайти, а потім включив пару за один раз, поки я знову не зіткнувся з проблемою.


1

Ви також можете отримати цю помилку, якщо ви використовуєте cert з декількома альтернативними іменами тематики, але ServerNameдиректива не відповідає значенням сертифікату CN або SAN. ІТ часто трапляється, коли розробник хоче розробити версію того самого виробничого сайту, але реального сертифікату на розробку немає.

Приклади веб-сайтів:
webserver.example.com
webserver-dev.example.com

Сертифікат:
CN =
Primaryserver.example.com SANs = webserver.example.com, puppies.example.com, kittens.example.com

Наступна конфігурація призведе до цієї помилки:
/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 ...

Наступна конфігурація вирішує цю проблему:
/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 ...


0

FWIW, я просто знову зіткнувся з цим питанням під іншим виглядом.

Якщо ви використовуєте wildcard SSL-сертифікати, переконайтеся, що запис VirtualHost для домену (domain.com) вказаний раніше, ніж усе інше (foo.domain.com, bar.domain.com тощо).

Я спробував одноразову річ конфігурації, і все інше пройшло нормально, поки я не додав цей файл ще раз.

Тоді я переконався, що ім'я конфігураційного файла нижче за алфавітом, ніж файл конфігурації з "основним визначенням домену". Змінили симпосилання так, що вона була розміщена після основної деф і все працювало як шарм.

Приклад невдалого списку лістингу:

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

Перелік робочого прикладу:

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

HTH хтось інший :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.