Das für SERVER konfigurierte RSA-Zertifikat enthält KEINE ID, die mit dem Servernamen übereinstimmt

28

Ich habe kürzlich einen LAMP-Server (mit den neuesten Versionen) mit WordPress gestartet und versuche, ein kürzlich erworbenes SSL-Zertifikat zu installieren. Beim Neustart apachectlgibt error_log Folgendes aus:

[Tue Feb 25 01:07:14.744222 2014] [mpm_prefork:notice] [pid 1744] AH00169: caught SIGTERM, shutting down
[Tue Feb 25 01:07:17.135704 2014] [suexec:notice] [pid 1765] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Feb 25 01:07:17.217424 2014] [auth_digest:notice] [pid 1766] AH01757: generating secret for digest authentication ...
[Tue Feb 25 01:07:17.218686 2014] [lbmethod_heartbeat:notice] [pid 1766] AH02282: No slotmem from mod_heartmonitor
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/mysql.so' - /usr/lib64/php/5.5/modules/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/mysqli.so' - /usr/lib64/php/5.5/modules/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
[Tue Feb 25 01:07:17.305292 2014] [mpm_prefork:notice] [pid 1766] AH00163: Apache/2.4.6 (Amazon) OpenSSL/1.0.1e-fips PHP/5.5.7 configured -- resuming normal operations
[Tue Feb 25 01:07:17.305378 2014] [core:notice] [pid 1766] AH00094: Command line: '/usr/sbin/httpd'

Während ssl_error_log mir das gibt:

[Tue Feb 25 00:57:15.802287 2014] [ssl:warn] [pid 1705] AH01909: RSA certificate configured for ec2-XX-XXX-XXX-XX.compute-1.amazonaws.com:443 does NOT include an ID which matches the server name
[Tue Feb 25 00:57:15.899327 2014] [ssl:warn] [pid 1706] AH01909: RSA certificate configured for ec2-XX-XXX-XXX-XX.compute-1.amazonaws.com:443 does NOT include an ID which matches the server name

Ich habe "Servername" in ssl.confden Namen meines Servers (dcturano.com) geändert und neu gestartet apachectl, aber dieser Fehler tritt auf. Irgendwelche Ideen warum?

Abgesehen davon habe ich den CommonName des Servers nicht festgelegt. Könnte dies das Problem sein?

Eklipsis
quelle

Antworten:

45
openssl x509 -in server.crt -noout -subject

Sollte die CN die des Zertifikats zurückgeben. Dies ist der Name, den Sie in der Anweisung ServerName verwenden müssen, um eine Verbindung herzustellen.

vierfach glücklich
quelle
# openssl x509 -in server.crt -noout -subject Fehler beim Öffnen des Zertifikats server.crt 140451499632288: Fehler: 02001002: Systembibliothek: fopen: Keine solche Datei oder kein solches Verzeichnis: bss_file.c: 398: fopen ('server.crt', ' r ') 140451499632288: Fehler: 20074002: BIO-Routinen: FILE_CTRL: Systembibliothek: bss_file.c: 400: Zertifikat kann nicht geladen werden
jmituzas
1
@jmituzas, sollten Sie ändern server.crtin openssl x509 -in server.crt -noout -subjectzu Ihrer server.crt Platzierung
avivmg
4
Praktisch alle öffentlichen Zertifizierungsstellen stellen heutzutage Zertifikate mit der Erweiterung SubjectAlternativeName aus , und Sie können einen oder alle Namen in dieser Erweiterung verwenden (oder einen beliebigen Namen, der mit einem Platzhalter übereinstimmt). OpenSSL zeigt SAN nicht isoliert an, aber Sie können openssl x509 -in cert -text | grep -A1 "Subject Alternative Name"
Folgendes
1
Stellen Sie außerdem sicher, dass Sie die ServerName-Direktive hinzufügen und nicht nur die Adresse des virtuellen Hosts festlegen (was sich in meinem Fall als Problem herausstellte).
Hugovdberg
Das hat den Trick gemacht. CN-Wert localhostaus Ausgabe von sudo openssl x509 -in /etc/ssl/certs/server.crt -noout -subjectwie ServerName localhostin kopiert sudo nano /etc/httpd/conf.d/ssl.conf. Ich benutze Centos 7 in Vagrant.
Damodar Bashyal
2

Wenn Sie wie ich nicht einmal ssl verwenden, wird diese Fehlermeldung weiterhin angezeigt, da ssl standardmäßig aktiviert ist. In diesem Fall schalten Sie es aus! Hier ist ein Auszug aus config.d/ssl.conf:

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
#SSLEngine on
SSLEngine off
Richard T
quelle
7
Ich habe Ihre Antwort herabgestuft, da in der Frage ausdrücklich angegeben ist, dass er ein Zertifikat gekauft hat. Normalerweise kaufe ich keine Dinge, die ich nicht verwenden möchte.
Hugovdberg
2

Ich hatte das gleiche Problem, aber es war aus einem anderen Grund. Ich poste es hier für zukünftige Googler:

auf meiner Apache2-Konfigurationsdatei <VirtualHost *:443>hatte ich stattdessen <VirtualHost *:80>. Sobald ich das behoben hatte, war die Site wieder betriebsbereit.

AliBZ
quelle
1

Ich habe dieses Problem durch meine /etc/hostsDatei ausgelöst .

Ich hatte einen virtuellen Host, nennen wir ihn www.effinwhatever.com

Der Hostname des Servers war www2 .

Ich habe meinem eine Zeile hinzugefügt, /etc/hostsdamit ich etwas gegen den virtuellen Host kräuseln kann:

192.168.1.200         www.effinwhatever.com

Sobald ich diese Leitung von meinem entfernt hatte /etc/hosts, lief mein Apache-Server wieder normal (mit einem Neustart des Dienstes). Seltsam.

Es kann auch relevant sein, dass mein SSL-Zertifikat für eine Wildcard-Domain bestimmt ist.

James T Snell
quelle
0

Ich hatte den gleichen AH01909: RSA-Zertifikatfehler . In meinem Fall hatte ich den richtigen serverNameWert.

Die Ursache des Fehlers war eine falsche IP-Adresse in der <VirtualHost 10.11.12.13:443>Definition für die sichere Site. Ich hatte es falsch geschrieben!

Drew
quelle
-1

Stellen Sie sicher, dass Ihr Servername mit der openssl x509 -in server.crt -noout -subjectAusgabe identisch ist . Wenn es www gibt, benötigt der Servername auch einen. Andernfalls muss ServerName www löschen.

ekse
quelle