Posiadamy certyfikat SSL na naszą stronę internetową od Network Solutions. Po uaktualnieniu Apache / OpenSSL do wersji 2.4.9, teraz pojawia się następujące ostrzeżenie podczas uruchamiania HTTPD:
AH02559: The SSLCertificateChainFile directive (/etc/httpd/conf.d/ssl.conf:105) is deprecated, SSLCertificateFile should be used instead
Zgodnie z instrukcją Apache dla mod_ssl tak właśnie jest:
SSLCertificateChainFile jest przestarzały
SSLCertificateChainFile stał się przestarzały w wersji 2.4.8, kiedy SSLCertificateFile został rozszerzony, aby ładować również pośrednie certyfikaty CA z pliku certyfikatu serwera.
Przeglądając dokumentację dla SSLCertificateFile , wyglądało na to, że po prostu potrzebuję zastąpić moje wywołanie SSLCertificateChainFile przez SSLCertificateFile .
Ta zmiana zmieniła mój ssl.conf z tego:
SSLCertificateFile /etc/ssl/STAR.EXAMPLE.COM.crt
SSLCertificateKeyFile /etc/ssl/server.key
SSLCertificateChainFile /etc/ssl/Apache_Plesk_Install.txt
do tego:
SSLCertificateFile /etc/ssl/STAR.EXAMPLE.COM.crt
SSLCertificateFile /etc/ssl/Apache_Plesk_Install.txt
SSLCertificateKeyFile /etc/ssl/server.key
... ale to nie działa. Apache po prostu odmawia uruchomienia bez komunikatu o błędzie.
Nie jestem pewien, co jeszcze tu spróbować, ponieważ nie znam się na certyfikatach mod_ssl ani SSL w ogóle. Pamiętam, że potrzebowaliśmy dodać plik Apache_Plesk_Install.txt , aby program Internet Explorer nie wyświetlał ostrzeżenia SSL w naszej witrynie, ale poza tym nie mam pojęcia.
Każda pomoc byłaby bardzo mile widziana. Dzięki.
źródło
Odpowiedzi:
Miałem ten sam problem. Właśnie wymieniłem te linie
/etc/apache2/site-enabled/default-ssl.conf
Jak widzisz, właśnie skomentowałem
SSLCertificateChainFile
. Następnie, widząc ten sam błąd co ty, połączyłem treść mojegochain.crt
na końcu, w tendomain.crt
sposób:I działało jak urok.
źródło
Używam następującego skryptu, aby utworzyć pakiet certyfikatów, który zawiera łańcuchowy certyfikat.
Aby z niego skorzystać, zaczynając od certyfikatu serwera i kolejno przez dowolne certyfikaty pośrednie w łańcuchu certyfikatów z powrotem do certyfikatu głównego.
gdzie odpowiednie nazwy certyfikatów są zastępowane rzeczywistą nazwą certyfikatu.
źródło
Miej certyfikat witryny, produkty pośrednie również w pliku określonym przez dyrektywę SSLCertificateFile, a klucz prywatny połączony w pliku określonym przez SSLCertificateKeyFile, a wszystko powinno być ustawione. Chociaż możesz mieć klucz prywatny w tym samym pliku co certyfikaty, ale jest to odradzane. Więcej informacji można znaleźć w dokumentacji:
http://httpd.apache.org/docs/current/mod/mod_ssl.html#sslcertificatefile
Polecam, aby certyfikat głównego urzędu certyfikacji nie był częścią pliku SSLCertificateFile, ponieważ klient powinien mieć główny certyfikat CA jako zaufany, aby sprawdzanie poprawności certyfikatu działało zgodnie z planem.
Ponadto, jeśli nie ma nic w dziennikach błędów apache, można ustawić dziennik błędów na bardziej szczegółową jak whttp://httpd.apache.org/docs/current/mod/core.html#loglevel
źródło