Pergunta

Recebo um certificado de Gandi para um domínio www.mondomaaine.fr, mas para sql.mondomaine.fr eu queria usar um certificado SSL autoassinado.

Se eu ativo sql.mondomaine.fr, o www.mondomaine.fr está usando o certificado autoassinado em vez do Gandiś.

Se eu desativar o SQL. Tudo funciona bem.

Como posso gerenciar o uso de um certificado diferente?

Ele costuma que a primeira configuração do VirtualHost está levando para cada SSL VirtualHost.

Obrigado pela ajuda.

Aqui está minha configuração:

Para phpmyadmin:

<VirtualHost *:443>
    # Chemin vers les données web
    DocumentRoot /usr/share/phpmyadmin

    ServerName sql.mondomaine.fr

    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/phpmyadmin.pem
</VirtualHost>

Para mondomaine.fr

<VirtualHost *:443>
    ServerName www.mondomaine.fr
    DocumentRoot /var/www/mondomaine/
    CustomLog /var/log/apache2/secure_access.log combined

    SSLEngine on
    SSLCertificateFile /etc/ssl/mondomaine.fr.crt
    SSLCertificateKeyFile /etc/ssl/mondomaine.fr.key
    SSLCACertificateFile /etc/ssl/GandiStandardSSLCA.pem
    SSLVerifyClient None
</VirtualHost>

A configuração está correta porque, se a primeira leitura virtualhost for phpmyadmin.pem modss, use este e se for mondomaine.fr.crt o primeiro virtualhost, o apache usa este.

Foi útil?

Solução

Você está enfrentando um problema geral com o HTTP sobre o SSL - quando um cliente se conecta, ele especifica qual host que ele deseja se conectar ao uso do host: HTTP Cabeçalho, mas isso só vem depois O aperto de mão SSL (quando o certificado é apresentado) foi concluído. Versões recentes das extensões de suporte do TLS (especificadas no RFC 4366) que permitem ao cliente especificar a qual host ele pretende se conectar durante o aperto de mão SSL, com a intenção específica de apoiar VHOSTS; Para citar a RFC:

"" "" O TLS não fornece um mecanismo para um cliente informar a um servidor o nome do servidor que está contatando. Pode ser desejável para os clientes fornecer essas informações para facilitar conexões seguras a servidores que hospedam vários servidores 'virtuais' em um Endereço de rede subjacente único. "" "

De acordo com a Wikipedia, versões recentes de Firefox, Opera, IE, Chrome e Safari apóiam esta extensão; Outros clientes ainda não enviariam a extensão e você está sem sorte para lá. Você também precisa usar pelo menos o TLS 1.1 para ativar o suporte de extensões.

Há algum documentação sobre como configurar isso com o Apache; Você pode precisar reconstruir o OpenSSL e/ou o Apache com opções específicas, dependendo da sua configuração local.

Outras dicas

Depende de como você criou seu certificado. Se você o comprou apenas para o subdomínio WWW, não funcionará para o SQL. O que você precisa fazer é fazer isso para permitir qualquer subdomínio, mas esses certificados são mais caros.

Por outro lado, você pode usar seu próprio ceritificado, você só precisa com certeza sobre o que está colocando ao criar seu virtutalHost

<virtualhost XXX.XXX.XXX.XXX:443>
 serverName www.mondomaine.fr
 # Gandiś ceritificate
</virtualhost>

<virtualhost XXX.XXX.XXX.XXX:443>
 serverName sql.mondomaine.fr
 # your own certificate stuff
</virtualhost>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top