El certificado RSA configurado para SERVIDOR NO incluye una ID que coincida con el nombre del servidor

28

Recientemente inicié un servidor LAMP (todas las últimas versiones) con WordPress en él, y estoy tratando de instalar un certificado SSL que compré recientemente. Cuando reinicio apachectl, error_log me da esto:

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

Mientras ssl_error_log me da esto:

[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

Cambié "ServerName" en ssl.confel nombre de mi servidor (dcturano.com) y reinicié apachectl, pero este error ocurre. Alguna idea de por qué?

Como comentario aparte, no he configurado el CommonName del servidor, ¿podría ser ese el problema?

eclipsis
fuente

Respuestas:

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

Debe devolver el CN ​​el del certificado. Ese es el nombre que debe usar en la directiva ServerName y para conectarse.

quadruplebucky
fuente
# openssl x509 -in server.crt -noout -subject Error al abrir el certificado server.crt 140451499632288: error: 02001002: biblioteca del sistema: fopen: No existe dicho archivo o directorio: bss_file.c: 398: fopen ('server.crt', ' r ') 140451499632288: error: 20074002: rutinas BIO: FILE_CTRL: lib del sistema: bss_file.c: 400: no se puede cargar el certificado
jmituzas
1
@jmituzas, se deben cambiar server.crten openssl x509 -in server.crt -noout -subjecta su colocación server.crt
avivmg
44
Prácticamente todas las CA públicas emiten certificados hoy en día con la extensión SubjectAlternativeName , y puede usar cualquiera o todos los nombres en esa extensión (o cualquier nombre que coincida con un comodín). OpenSSL no muestra SAN de forma aislada, pero puede hacer algo comoopenssl x509 -in cert -text | grep -A1 "Subject Alternative Name"
dave_thompson_085
1
Además, asegúrese de agregar la directiva ServerName y no solo establecer la dirección del host virtual (que resultó ser el problema en mi caso).
hugovdberg
Eso hizo el truco. Copió el valor CN localhostde la salida de sudo openssl x509 -in /etc/ssl/certs/server.crt -noout -subjectcomo ServerName localhosten sudo nano /etc/httpd/conf.d/ssl.conf. Estoy usando centos 7 en vagabundo.
Damodar Bashyal
2

Alternativamente, si, como yo, ni siquiera está usando ssl, aún recibirá este mensaje de error porque el uso de ssl está activado de forma predeterminada. En ese caso, apáguelo! Aquí hay un extracto de config.d/ssl.conf:

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
#SSLEngine on
SSLEngine off
Richard T
fuente
77
Califiqué tu respuesta porque la pregunta indica explícitamente que compró un certificado. No suelo comprar cosas que no pretendo usar.
hugovdberg
2

Tuve el mismo problema pero fue por otra razón. Lo publico aquí para futuros googlers:

en mi archivo de configuración apache2, en lugar de tener <VirtualHost *:443>, tuve <VirtualHost *:80>. Tan pronto como lo solucioné, el sitio volvió a funcionar.

AliBZ
fuente
1

Activé este problema a través de mi /etc/hostsarchivo.

Tenía un virtualhost, llamémoslo www.effinwhatever.com

El nombre de host del servidor era www2 .

Agregué una línea a mi /etc/hostspara poder enrollar cosas contra el host virtual:

192.168.1.200         www.effinwhatever.com

Tan pronto como eliminé esa línea de mi /etc/hosts, mi servidor Apache comenzó a funcionar normalmente de nuevo (con un reinicio del servicio). Extraño.

También puede ser relevante que mi certificado SSL sea para un dominio comodín.

James T Snell
fuente
0

Tuve el mismo AH01909: error de certificado RSA . En mi caso, tenía el serverNamevalor correcto .

La causa del error fue una dirección IP incorrecta en la <VirtualHost 10.11.12.13:443>definición del sitio seguro. ¡Lo había escrito mal!

Dibujó
fuente
-1

Asegúrese de que su ServerName sea exactamente el mismo con la openssl x509 -in server.crt -noout -subjectsalida. si hay www, ServerName también necesita uno. si no, ServerName debe eliminar www.

ekse
fuente