Apache kann nicht gestartet werden, wenn SSLEngine eingeschaltet ist

Apache kann nicht gestartet werden, wenn SSLEngine eingeschaltet ist

Mein virtueller SSL-Host ist so einfach:

LoadModule ssl_module modules/mod_ssl.so

Listen 443
<VirtualHost *:443>
        DocumentRoot "/srv/www/test"
        ServerName <my_website_domain>

        SSLEngine on
        SSLCertificateFile    /etc/ssl/certs/apache-selfsigned.crt
        SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
</VirtualHost>

Beim Versuch, Apache neu zu starten, apache2ctl configtest && systemctl restart apache2erhalte ich:

Syntax OK
Der Job für apache2.service ist fehlgeschlagen, da der Kontrollprozess mit einem Fehlercode beendet wurde. Weitere Informationen finden Sie unter „systemctl status apache2.service“ und „journalctl -xe“.

Aber wenn ich SSLEngine mit Apache ausschalte, SSLEngine offstartet es normal und einwandfrei.

Wenn ich systemctl status apache2nach dem Start mit ausführe SSLEngine on, erhalte ich:

Syntax OK
● apache2.service - The Apache Webserver
   Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2020-08-14 18:06:55 CEST; 1min 9s ago
  Process: 22352 ExecStop=/usr/sbin/start_apache2 -DSYSTEMD -DFOREGROUND -k graceful-stop (code=exited, status=0/SUCCESS)
  Process: 19851 ExecReload=/usr/sbin/start_apache2 -DSYSTEMD -DFOREGROUND -k graceful (code=exited, status=0/SUCCESS)
  Process: 22346 ExecStart=/usr/sbin/start_apache2 -DSYSTEMD -DFOREGROUND -k start (code=exited, status=1/FAILURE)
 Main PID: 22346 (code=exited, status=1/FAILURE)

Aug 14 18:06:55 luu056d start_apache2[22352]: [Fri Aug 14 18:06:55.351148 2020] [so:warn] [pid 22352] AH01574: module authn_core_module is already loaded, skipping
Aug 14 18:06:55 luu056d start_apache2[22352]: [Fri Aug 14 18:06:55.351163 2020] [so:warn] [pid 22352] AH01574: module authz_core_module is already loaded, skipping
Aug 14 18:06:55 luu056d start_apache2[22352]: [Fri Aug 14 18:06:55.351170 2020] [so:warn] [pid 22352] AH01574: module php5_module is already loaded, skipping
Aug 14 18:06:55 luu056d start_apache2[22352]: [Fri Aug 14 18:06:55.351179 2020] [so:warn] [pid 22352] AH01574: module ssl_module is already loaded, skipping
Aug 14 18:06:55 luu056d start_apache2[22352]: [Fri Aug 14 18:06:55.352998 2020] [so:warn] [pid 22352] AH01574: module ssl_module is already loaded, skipping
Aug 14 18:06:55 luu056d start_apache2[22352]: [Fri Aug 14 18:06:55.356261 2020] [core:warn] [pid 22352] AH00117: Ignoring deprecated use of DefaultType in line 143 of /etc/apa.../httpd.conf.
Aug 14 18:06:55 luu056d start_apache2[22352]: httpd (no pid file) not running
Aug 14 18:06:55 luu056d systemd[1]: Failed to start The Apache Webserver.
Aug 14 18:06:55 luu056d systemd[1]: apache2.service: Unit entered failed state.
Aug 14 18:06:55 luu056d systemd[1]: apache2.service: Failed with result 'exit-code'.
Hint: Some lines were ellipsized, use -l to show in full.

Warum erhalte ich diesen Fehler, httpd (no pid file) not runningwenn ich einschalte SSLEngine?
Port 443 wird nicht blockiert, da das Ergebnis beim Ausführen lsof -i :443leer ist.

Ich verwende Apache/2.4.23 für Linux/SUSE

Antwort1

Dies deutet auf ein Problem mit den Zertifikaten hin. httpd kann sie nicht laden und kann daher nicht ordnungsgemäß starten. Normalerweise treten diese Fehler nicht auf, es sei denn, Sie verfügen über eine hohe Fehlerprotokollierung für SSL. Richten Sie es einfach LogLevel ssl:trace8zum Testen ein und entfernen Sie es, wenn es funktioniert.

Stellen Sie sicher, dass die Zertifikate im PEM-Format (ASCII) vorliegen, zueinander passen und in dem Pfad vorhanden sind, auf den Sie verweisen:

openssl x509 -in /etc/ssl/certs/apache-selfsigned.crt -noout -modulus
openssl rsa -in /etc/ssl/private/apache-selfsigned.key -noout -modulus

Die Ausgabe beider Befehle sollte das gleiche Ergebnis zurückgeben, wenn nicht, sind sie nicht korrekt.

Antwort2

Ich möchte allen anderen danken, die geantwortet haben, aber das Problem lag in der Datei ssl-globals.conf.

Diese beiden Anweisungen führten zum Absturz von Apache

SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"

Ich habe sie gerade kommentiert und jetzt funktioniert es. Ich habe keine Ahnung, warum, aber die Wissenschaft basiert auf Beweisen.

verwandte Informationen