O certificado RSA configurado para SERVER NÃO inclui um ID que corresponda ao nome do servidor


28

Recentemente, iniciei um servidor LAMP (todas as versões mais recentes) com WordPress e estou tentando instalar um certificado SSL que comprei recentemente. Quando eu reinicio apachectl, error_log me dá o seguinte:

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

Enquanto ssl_error_log me fornece isso:

[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

ssl.confAlterei "ServerName" para o nome do meu servidor (dcturano.com) e reiniciei apachectl, mas esse erro ocorre. Alguma idéia do porquê?

Como um aparte, eu não defini o CommonName do servidor, poderia ser esse o problema?

Respostas:


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

Deve retornar a CN do certificado. Esse é o nome que você deve usar na diretiva ServerName e se conectar.


# openssl x509 -in server.crt -noout -subject Erro ao abrir o certificado server.crt 140451499632288: erro: 02001002: biblioteca do sistema: fopen: Esse arquivo ou diretório não existe: bss_file.c: 398: fopen ('server.crt', ' r ') 140451499632288: error: 20074002: Bio rotinas: FILE_CTRL: sistema de lib: bss_file.c: 400: incapazes de certificado de carga
jmituzas

1
@jmituzas, você deve mudar server.crtno openssl x509 -in server.crt -noout -subjectà sua colocação server.crt
avivmg

4
Atualmente, praticamente todas as CAs públicas emitem certificados com a extensão SubjectAlternativeName , e você pode usar qualquer um ou todos os nomes nessa extensão (ou qualquer nome que corresponda a um curinga). O OpenSSL não exibe a SAN isoladamente, mas você pode fazer algo comoopenssl x509 -in cert -text | grep -A1 "Subject Alternative Name"
dave_thompson_085

1
Além disso, certifique-se de adicionar a diretiva ServerName e não apenas definir o endereço do host virtual (que acabou sendo o problema no meu caso).
Hugovdberg 27/10/16

Isso fez o truque. Valor CN copiado localhostda saída sudo openssl x509 -in /etc/ssl/certs/server.crt -noout -subjectcomo ServerName localhostem sudo nano /etc/httpd/conf.d/ssl.conf. Eu estou usando centos 7 em vagrant.
Damodar Bashyal 5/09/19

2

Como alternativa, se, como eu, você não estiver usando o SSL, você ainda receberá esta mensagem de erro porque o uso do SSL está ativado por padrão. Nesse caso, desligue-o! Aqui está um trecho de config.d/ssl.conf:

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

7
Classifiquei sua resposta porque a pergunta afirma explicitamente que ele comprou um certificado. Normalmente não compro coisas que não pretendo usar.
Hugovdberg 27/10/16

2

Eu tive o mesmo problema, mas foi por outro motivo. Coloco aqui para futuros googlers:

no meu arquivo de configuração apache2, em vez de ter <VirtualHost *:443>, eu tinha <VirtualHost *:80>. Assim que eu consertei isso, o site voltou a funcionar.


1

Acionei esse problema através do meu /etc/hostsarquivo.

Eu tinha um host virtual , vamos chamá-lo www.effinwhatever.com

O nome do host do servidor era www2 .

Eu adicionei uma linha ao meu /etc/hostspara que eu pudesse enrolar coisas contra o host virtual:

192.168.1.200         www.effinwhatever.com

Assim que removi essa linha do meu /etc/hosts, meu servidor Apache começou a servir normalmente novamente (com a reinicialização do serviço). Esquisito.

Também pode ser relevante que meu certificado SSL seja para um domínio curinga.


0

Eu tive o mesmo AH01909: erro de certificado RSA . No meu caso, eu tinha o serverNamevalor correto .

A causa do erro foi um endereço IP incorreto na <VirtualHost 10.11.12.13:443>definição do site seguro. Eu tinha digitado errado!


-1

Verifique se o nome do servidor é exatamente o mesmo da openssl x509 -in server.crt -noout -subjectsaída. se houver www, ServerName também precisará de um. caso contrário, ServerName deve excluir www.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.