Ups, nie znaleziono certyfikatu serwera RSA lub DSA dla „server.host.name:0”?

18

Konfiguruję nowy serwer WWW, który obsługuje tuzin wirtualnych hostów w systemie Ubuntu 12.4, używając Apache 2.2.22 z jednym plikiem konfiguracyjnym na witrynę. Wszystkie pliki konfiguracyjne utworzyłem naraz i uruchomiłem, a2ensite *aby włączyć je wszystkie naraz. Po ponownym załadowaniu konfiguracji nie powiodło się i po ponownym uruchomieniu Apache znalazłem następujący komunikat o błędzie w moim error.log:

Ups, nie znaleziono certyfikatu serwera RSA lub DSA dla „server.host.name:0” ?!

Większość wyników tego komunikatu o błędzie ma lata, które nie rozwiązują problemu lub są naprawionymi błędami https://issues.apache.org/bugzilla/show_bug.cgi?id=31709

Scott Keck-Warren
źródło

Odpowiedzi:

4

Problem zakończył się w innym pliku konfiguracyjnym niż host wymieniony w błędzie. Wynika to z faktu, że w dwóch plikach były zduplikowane wartości NazwaSerwera. Naprawiłem niewłaściwy i zaczął się on ponownie (do zobaczenia, pół godziny) :-).

Aby rozwiązać ten problem, wyłączyłem wszystkie witryny, a następnie włączałem kilka na raz, aż ponownie napotkałem problem.

Scott Keck-Warren
źródło
1

Ten błąd może również pojawić się, jeśli używasz certyfikatu z wieloma alternatywnymi nazwami podmiotów, ale ServerNamedyrektywa nie odpowiada wartości CN lub SAN certyfikatu. Często zdarza się, że programista chce wersji rozwojowej tej samej witryny produkcyjnej, ale nie ma prawdziwego certyfikatu dla witryny programistycznej.

Przykładowe witryny:
webserver.example.com
webserver-dev.example.com

Certyfikat:
CN = serwer podstawowy.przyklad.com
SAN = serwer internetowy.przyklad.com, szczeniaki.przyklad.com, kocięta.przyklad.com

Następująca konfiguracja spowoduje ten błąd:
/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 ...

Następująca konfiguracja rozwiązuje ten problem:
/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
źródło
0

FWIW, znów natknąłem się na ten problem, pod innym pozorem.

Jeśli używasz wieloznacznych certyfikatów SSL, upewnij się, że wpis VirtualHost dla domeny (domain.com) jest wymieniony przed czymkolwiek innym (foo.domain.com, bar.domain.com itp.).

Próbowałem konfiguracji pojedynczej i wszystko działało dobrze, dopóki nie dodałem ponownie tego pliku.

Potem zwróciłem uwagę, że nazwa pliku konfiguracji była niższa alfabetycznie niż plik konfiguracji z „definicją domeny podstawowej”. Zmieniono dowiązanie symboliczne, tak aby zostało umieszczone po głównym def i wszystko działało jak urok.

Przykład nieudanego zamówienia na liście:

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

Przykładowa lista robocza:

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

HTH ktoś inny :)

Will L.
źródło