Problemas ao configurar o certificado SSL no Apache VirtualHosts

1

Estou tentando executar várias conexões SSL em um único servidor IP executando o RHEL6. Eu configurei com êxito um domínio em SSL, no entanto, quando tento adicionar um segundo, o Apache não é reiniciado. Comentar o primeiro domínio, de modo que apenas o novo esteja em execução, não resolve o problema.

Minha configuração é a seguinte:

NameVirtualHost *:80
NameVirtualHost 192.168.0.10:443

# Domain 1 Works fine
<VirtualHost 192.168.0.10:443>
 ServerName domain1.org.uk
 DocumentRoot /home/domain1/public_html
 <Directory "/home/domain1/public_html">
     allow from all
     Options FollowSymLinks
 </Directory>
 SSLEngine on
 SSLCertificateFile /home/domain1/certs/domain1.org.uk.crt
 SSLCertificateKeyFile /home/domain1/certs/domain1.org.uk.key
 SSLCertificateChainFile /home/domain1/certs/gs_intermediate_ca.crt
</VirtualHost>

# Domain 2 kills apache
<VirtualHost 192.168.0.10:443>
 ServerName domain2.org.uk
 DocumentRoot /home/domain2/public_html
 <Directory "/home/domain2/public_html">
     allow from all
     Options FollowSymLinks
 </Directory>
 SSLEngine on
 SSLCertificateFile /home/domain2/certs/domain2.org.uk.crt
 SSLCertificateKeyFile /home/domain2/certs/domain2.org.uk.key
 SSLCertificateChainFile /home/domain2/certs/gs_intermediate_ca.crt
</VirtualHost>

Ao olhar para o / var / log / httpd / error_log eu recebo isso quando eu reinicio o apache ao ativar o SSL para o domínio 2

[notice] caught SIGTERM, shutting down]
[notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
[notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)

Ao consultar / var / log / httpd / ssl_error_log

[error] Failed to configure CA certificate chain

Se eu alterar a linha do certificado de cadeia de SSLCertificateChainFile para SSLCACertificateFile, o apache é reiniciado sem incidentes, mas quando visito o domínio2 em qualquer navegador, recebo um erro de conexão SSL.

Qualquer ajuda seria muito apreciada.

Editar

Ok, duas coisas:

1.) Ter habilitado segunda placa de rede e HTTPS escuta em 192.168.0.11 e http em 192.168.0.10

2.) Já corri:

openssl verify -verbose -purpose sslserver -CAfile gs_intermediate_ca.crt domain2.org.uk.crt

não é possível carregar o certificado

e agora recebo

unable to load certificate
140685974771528:error:0906D066:PEM routines:PEM_read_bio:bad end line:pem_lib.c:802:
    
por amburnside 15.01.2015 / 11:37

1 resposta

0

Tem certeza absoluta de que seu domínio2 gs_intermediate_ca.crt está correto? A linha de log de erros do Apache faz com que pareça que é onde está o seu problema.

A diretiva SSLCACertificateFile é usada para indicar qual cliente certs você lida com. Como tal, provavelmente não está validando esse arquivo tão strongmente quanto com SSLCertificateChainFile . Portanto, os erros não impedem o início do Apache, mas resultam em erros SSL. Mais uma razão para assumir que o problema é com esse arquivo em cadeia.

As probabilidades são boas de que o chainfile seja A) não formatado corretamente ou B) não seja válido para esse certificado específico. (por exemplo: Talvez uma cadeia para o outro domínio) Você pode tentar usar openssl s_client -connect domain2.org.uk:443 para listar os certificados entregues durante a troca de SSL.

    
por 15.01.2015 / 16:02