Certificado SSL Múltiplo no Apache

4

Sei que você precisa de vários endereços IP se quiser usar vários certificados SSL com o Apache. Assumindo que eu tenho 2 IPs no meu VPS (vamos nomeá-los 1.1.1.1 e 2.2.2.2 ), eu queria saber se a seguinte configuração é possível:

domain1.com estaria em 1.1.1.1 e usaria um certificado SSL assinado (de um provedor como a Verisign)

domain2.com, domain3.com, .. estaria em 2.2.2.2 e compartilharia um certificado auto-assinado ...

Em outras palavras, um domínio precisa ter seu próprio certificado assinado, pois ele precisa processar transações financeiras, etc., para que ele fique "sozinho" no primeiro IP. Outros domínios precisam apenas de um certificado autoassinado, já que é apenas para as áreas administrativas e não me importo com o (s) aviso (s), para que todos fiquem no segundo IP

Essa configuração é possível? Em caso afirmativo, algum exemplo de como seria a configuração do host virtual?

Qualquer ajuda seria apreciada!

    
por user24994 04.11.2009 / 19:38

2 respostas

6

É muito simples ter um certificado diferente para um endereço IP diferente; basta colocar o material do certificado SSL dentro do virtualhosts para cada um.

Ter vários hosts virtuais em um único IP não funcionará nesse momento. Existem algumas tecnologias que podem funcionar para isso no futuro, mas a população de usuários não está executando navegadores que podem fazê-lo. O agente do usuário (navegador) estabelece uma conexão SSL e verifica a conexão SSL antes de informar ao servidor qual host está se conectando. Você realmente precisa de um IP separado para cada host virtual SSL.

<VirtualHost 1.1.1.1:443>
        ServerName foo
        DocumentRoot /var/www/foo
        CustomLog /var/log/httpd/foo.ssl_access_log combined
        ErrorLog /var/log/httpd/foo.ssl_error_log

        SSLEngine on
        SSLProtocol all -SSLv2
        SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
        SSLCertificateFile /etc/pki/tls/certs/foo.crt
        SSLCertificateKeyFile /etc/pki/tls/private/foo.key
</VirtualHost>

<VirtualHost 2.2.2.2:443>
        ServerName bar
        DocumentRoot /var/www/bar
        CustomLog /var/log/httpd/bar.ssl_access_log combined
        ErrorLog /var/log/httpd/bar.ssl_error_log

        SSLEngine on
        SSLProtocol all -SSLv2
        SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
        SSLCertificateFile /etc/pki/tls/certs/bar.crt
        SSLCertificateKeyFile /etc/pki/tls/private/bar.key
</VirtualHost>
    
por 04.11.2009 / 20:00
2

Como freiheit já mencionado, há uma nova maneira, para configurar vhosts com diferentes certificados ssl
em um único ip. Mas o suporte do lado do cliente ainda é incompleto.

É chamado de SNI (Server Name Indication) e vale a pena ler.

Atenciosamente ...

    
por 04.11.2009 / 21:48