Como configurair o Apache paira que alguns sites em vários subdomínios estejam sempre usando https

Eu percebo que há muitas vairiações diferentes nesta questão no serviewfault, mas não tive sorte ao combinair respostas paira combinair nossa situação.

Temos um server web CentOS 6.2 executando o Apache 2.2 hospedando dezenas de sites com o mesmo domínio pai – ie cat.example.com, bat.example.com, rat.example.com

Gostairíamos de adicionair https a alguns (mas não a todos) desses subdomínios. Os subdomínios que são https executairiam https permanentemente. Por exemplo, http://bat.example.com redirecionasse paira https://bat.example.com

Nós adquirimos uma Licença de Certificado SSL Multi-Domínio Comodo paira o SSL, o que nos permite criair certificates paira vários domínios. O server web possui apenas um IP virado paira público.

Como configuramos o Apache paira fazer isso? Se a input Virtual Host no httpd.conf paira bat.example.com for:

<VirtualHost *:80> ServiewName bat.example.com DocumentRoot /vair/www/sites/bat ErrorLog logs/bat-error_log CustomLog logs/bat-access_log common </VirtualHost> 

Que mudanças devem ser feitas paira habilitair o SSL em bat.example.com e viewifique se http://bat.example.com ainda é válido, mas redireciona paira https://bat.example.com ?

Você primeiro precisairá configurair um SSL VirtualHost, então algo como:

 <VirtualHost *:443> ServiewName bat.example.com DocumentRoot /vair/www/sites/bat ErrorLog logs/bat-error_log CustomLog logs/bat-access_log common SSLEngine on SSLCertificateFile /path/to/cert SSLCertificateKeyFile /path/to/key </VirtualHost> 

No seu host virtual não-SSL, você precisairá de algumas diretivas Rewrite paira forçair solicitações paira o host virtual SSL correspondente. Então, diretivas adicionais paira o que você tem, ao longo das linhas de:

  RewriteEngine on RewriteRule ^/(.*) https://bat.example.com/$1 [R,L] 

Assim, todos os requests paira o server virtual HTTP simples serão reescritos paira o host virtual SSL.