não pode instalar o certificado ssl no apache

2

Mudei um site para outro servidor e tenho um certificado SSL da godaddy. O SSL estava funcionando bem em um servidor antigo, mantido pelo meu antecessor. Agora, em um novo servidor, eu regenei o certificado seguindo as instruções do godaddy e modifiquei o arquivo ssl.conf conforme as instruções, mas quando vou para a parte do site que supostamente suporta o SSL, ainda recebo esse "certificado não confiável". Se eu adicioná-lo como confiável, tudo funciona bem, mas perde o ponto de certificado confiável.

O que é ainda mais estranho é que no servidor antigo o arquivo ssl.conf é o padrão, então como é que o certificado está funcionando corretamente? Existem outras maneiras de instalar o certificado SSL do que modificar o arquivo ssl.conf?

Alterações que fiz no arquivo ssl.conf:

<VirtualHost *:443>
DocumentRoot "/var/www/vhosts/domain.com/httpdocs"
ServerName www.domain.com:443
SSLCertificateFile /var/www/vhosts/domain.com/private/domain.com.crt
SSLCertificateKeyFile /usr/bin/domain.com.key
SSLCACertificateFile /var/www/vhosts/domain.com/private/gd_bundle.crt
<Directory "/var/www/vhosts/domain.com/httpdocs">
    AllowOverride All
</Directory>

Há algo que estou fazendo errado?

=============================================== ===================================

UPDATE: como sugerido, adicionei a linha para habilitar o certificado godaddys bundle no meu ssl.conf:

SSLCertificateChainFile /var/www/vhosts/domain.com/private/gd_bundle.crt

e comentou a linha:

#SSLCACertificateFile /var/www/vhosts/domain.com/private/gd_bundle.crt

Tudo ainda é o mesmo, certificado não é confiável ...

UPDATE2: Eu aceitei o certificado e o vi, e não é meu, ele diz que "Plesk" é o proprietário. Por algum motivo, o Plesk está preenchendo seu certificado, posso removê-lo de alguma forma? Desculpe pela confusão ...

UPDATE3: Eu olhei para ssl_error_log e é isso que diz:

[Sat Sep 03 12:37:36 2011] [warn] RSA server certificate CommonName (CN) 'www.domain.com' does NOT match server name!?

O que é que isso quer dizer?

UPDATE4: Se eu mudar

<VirtualHost *:443>

para

<VirtualHost www.domain.com:443>

quando eu tento acessar a página o navegador aparece a caixa de diálogo abrir / salvar para o arquivo de origem php?!? Isso é simplesmente insano ...

    
por Caballero 03.09.2011 / 11:47

2 respostas

2

Parece que o GoDaddy, como muitos emissores de SSL, usa um certificado intermediário que deve ser atendido por seu servidor SSL para que a cadeia de confiança seja concluída.

Em essência, em vez de assinar seu CSR com um certificado que está no pacote público conhecido para a maioria dos navegadores, eles assinam seu CSR com um certificado próprio; este certificado deles por sua vez é certificado por um dos certificados no pacote público dos navegadores para assinar qualquer coisa .

Existem boas razões para fazer isso, mas o resultado é que, quando você veicula seu certificado para pessoas na fase de handshake SSL, você precisa entregar uma cópia do certificado de assinatura do godaddy ao mesmo tempo. Em seguida, o navegador pode dizer a si mesmo "o certificado do site é assinado por este certificado godaddy intermediário e o certificado intermediário godaddy é assinado como 'OK para assinar outras coisas' por exemplo Equifax / Thawte / Verisign / alguma outra autoridade de nível superior que eu confiança ", e o navegador está feliz. Se o navegador não obtiver esse certificado intermediário, ele não poderá conectar a cadeia de confiança e não ficará feliz.

Godaddy tem uma página de instruções de instalação de certificados de cadeia para o apache em esta página de ajuda .

Editar : parece que sua configuração de SSL tem mais do que o que você escreveu. Você não pode simplesmente adicionar config ao apache e esperar que ele funcione, você tem que remover qualquer coisa que entre em conflito. Experimente

find /etc/http/conf -type f -exec grep -i sslcertificatefile {} /dev/null\;

(substituindo /etc/http/conf pela sua raiz de configuração do apache, se você mantê-la em outro lugar) e veja onde o certificado plesk está configurado. Comime essa seção e tente reiniciar o apache.

    
por 03.09.2011 / 11:58
1

Talvez você precise da opção SSLCertificateChainFile dentro do seu VirtualHost. Você deve encontrar mais informações em sua Homepage do Provedor SSL. Dê uma olhada no link

    
por 03.09.2011 / 11:59