Il certificato RSA configurato per SERVER NON include un ID che corrisponde al nome del server


28

Di recente ho avviato un server LAMP (tutte le ultime versioni) con WordPress e sto provando a installare un certificato SSL che ho acquistato di recente. Al riavvio apachectl, error_log mi dà questo:

[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'

Mentre ssl_error_log mi dà questo:

[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

Ho cambiato "ServerName" nel ssl.confnome del mio server (dcturano.com) e ho riavviato apachectl, ma si verifica questo errore. Qualche idea sul perché?

A parte questo, non ho impostato il CommonName del server, potrebbe essere questo il problema?

Risposte:


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

Dovrebbe restituire il codice NC del certificato. Questo è il nome che devi usare nella direttiva ServerName e per connetterti.


# openssl x509 -in server.crt -noout -subject Errore durante l'apertura del certificato server.crt 140451499632288: errore: 02001002: libreria di sistema: fopen: nessun file o directory: bss_file.c: 398: fopen ('server.crt', ' r ') 140451499632288: errore: 20074002: routine BIO: FILE_CTRL: libreria di sistema: bss_file.c: 400: impossibile caricare il certificato
jmituzas

1
@jmituzas, si dovrebbe cambiare server.crtin openssl x509 -in server.crt -noout -subjectper il posizionamento server.crt
avivmg

4
Praticamente tutte le CA pubbliche al giorno d'oggi rilasciano certificati con l' estensione SubjectAlternativeName e puoi usare uno o tutti i nomi in quell'estensione (o qualsiasi nome che corrisponda a un carattere jolly). OpenSSL non visualizza SAN in isolamento, ma puoi fare qualcosa del genereopenssl x509 -in cert -text | grep -A1 "Subject Alternative Name"
dave_thompson_085

1
Inoltre, assicurati di aggiungere la direttiva ServerName e non solo di impostare l'indirizzo dell'host virtuale (che si è rivelato essere il problema nel mio caso).
hugovdberg,

Questo ha funzionato. Valore CN copiato localhostdall'output di sudo openssl x509 -in /etc/ssl/certs/server.crt -noout -subjectas ServerName localhostin sudo nano /etc/httpd/conf.d/ssl.conf. Sto usando centos 7 in vagabondo.
Damodar Bashyal,

2

In alternativa, se, come me, non stai nemmeno utilizzando SSL, visualizzerai comunque questo messaggio di errore perché l'utilizzo di SSL è attivato per impostazione predefinita. In tal caso, spegnilo! Ecco un estratto da config.d/ssl.conf:

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
#SSLEngine on
SSLEngine off

7
Ho valutato la tua risposta perché la domanda afferma esplicitamente che ha acquistato un certificato. Di solito non compro cose che non intendo usare.
hugovdberg,

2

Ho avuto lo stesso problema ma era per un altro motivo. Lo inserisco qui per futuri googler:

sul mio file di configurazione di apache2, invece di averlo <VirtualHost *:443>avuto <VirtualHost *:80>. Non appena ho risolto il problema, il sito è stato ripristinato e funzionante.


1

Ho attivato questo problema tramite il mio /etc/hostsfile.

Avevo un host virtuale , chiamiamolo www.effinwhatever.com

Il nome host del server era www2 .

Ho aggiunto una linea al mio in /etc/hostsmodo da poter arricciare roba contro l'host virtuale:

192.168.1.200         www.effinwhatever.com

Non appena ho rimosso quella linea dal mio /etc/hosts, il mio server Apache ha iniziato a servire normalmente (con un riavvio del servizio). Strano.

Potrebbe anche essere rilevante che il mio certificato SSL sia per un dominio jolly.


0

Ho avuto lo stesso AH01909: errore certificato RSA . Nel mio caso, avevo il serverNamevalore corretto .

La causa dell'errore era un indirizzo IP errato nella <VirtualHost 10.11.12.13:443>definizione per il sito sicuro. L'avevo scritto male!


-1

Assicurati che ServerName sia esattamente lo stesso con l' openssl x509 -in server.crt -noout -subjectoutput. se c'è www, ServerName ne ha bisogno anche uno. in caso contrario, ServerName deve eliminare www.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.