O problema é o uso de <VirtualHost *:443>
no VHost. Use os Endereços IP específicos dos sites, caso contrário, todo o tráfego SSL será roteado através da primeira entrada do VHost.
Estou executando dois sites no servidor do Apache 2.4. Ele é configurado como NameBaseVhost e ambos têm seu próprio certificado SSL curinga (* .site1.com e * .site2.com) emitido por Godaddy. Tudo está funcionando bem. Quando eu acesso sites através do subdomínio www.site1.com e www.site2.com, tudo funciona bem. O Apache tem uma regra de reconfiguração para redirecionar http para https, para que ambos os sites estejam redirecionando perfeitamente.
Agora, o problema é quando eu redireciono o domínio raiz para www, para site2.com, isso me dá um erro.
Error code: ssl_error_bad_cert_domain
site2.com uses an invalid security certificate.
The certificate is only valid for the following names:
*.site1.com, site1.com
Configuração do httpdd de site1.com
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R]
# Redirect root domain to www
RewriteCond %{HTTP_HOST} ^site1\.com$ [NC]
RewriteRule ^(.*)$ https://www.site1.com/$1 [R=301,L]
<VirtualHost *:443>
ServerName www.site1.com
DocumentRoot /var/www/html/site1/public/
SSLEngine On
SSLCertificateFile /etc/pki/tls/certs/site1/site1.crt
SSLCertificateKeyFile /etc/pki/tls/private/site1/site1.key
SSLCertificateChainFile /etc/pki/tls/certs/site1/gd_site1.crt
Header always set Strict-Transport-Security "max-age=31536000;
</VirtualHost>
Configuração do Httpd para site2.com
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R]
# Redirect root domain to www
RewriteCond %{HTTP_HOST} ^site2\.com$ [NC]
RewriteRule ^(.*)$ https://www.site2.com/$1 [R=301,L]
<VirtualHost *:443>
ServerName www.site2.com
DocumentRoot /var/www/html/site2/public/
SSLEngine On
SSLCertificateFile /etc/pki/tls/certs/site2/site2.crt
SSLCertificateKeyFile /etc/pki/tls/private/site2/site2.key
SSLCertificateChainFile /etc/pki/tls/certs/site2/gd_site2.crt
Header always set Strict-Transport-Security "max-age=31536000;
</VirtualHost>
Como resolver esse problema?
O problema é o uso de <VirtualHost *:443>
no VHost. Use os Endereços IP específicos dos sites, caso contrário, todo o tráfego SSL será roteado através da primeira entrada do VHost.
Tags ssl openssl linux apache-2.4