Virtualhost1 SSL afetando Virtualhost2 Aliase SSL

Virtualhost1 SSL afetando Virtualhost2 Aliase SSL

estou carregando os arquivos SSL para meus subdomínios curinga do Virtualhost, mas o segundo host virtual carrega o arquivo SSL do primeiro virtualhost e o navegador relata erro de certificado inválido

Aqui está a configuração

    <VirtualHost *:443>
     ServerName cert-1.domain.com 
     ServerAlias cert-1.domain.com,*.net.domain.com 
    DocumentRoot /home/myuser/public_html
     ServerAdmin [email protected]

     UseCanonicalName Off  

   <IfModule mod_suphp.c>
   suPHP_UserGroup myuser myuser
   </IfModule>
   <IfModule suexec_module>
   <IfModule !mod_ruid2.c>
   SuexecUserGroup myuser myuser 
   </IfModule>
   </IfModule>

   <IfModule ssl_module>
   SSLEngine on 
  SSLCertificateFile /etc/letsencrypt/live/cert-1.domain.com/fullchain.pem
   SSLCertificateKeyFile /etc/letsencrypt/live/cert-1.domain.com/privkey.pem
   </IfModule>
   </VirtualHost>





    <VirtualHost *:443>
     ServerName cert-2.domain.com
     ServerAlias cert-2.domain.com,*.org.domain.com 
     DocumentRoot /home/myuser/public_html
     ServerAdmin [email protected]

     UseCanonicalName Off  

     <IfModule mod_suphp.c>
       suPHP_UserGroup myuser myuser
     </IfModule>
     <IfModule suexec_module>
       <IfModule !mod_ruid2.c>
         SuexecUserGroup myuser myuser 
      </IfModule>
     </IfModule>

  <IfModule ssl_module>
   SSLEngine on 
  SSLCertificateFile /etc/letsencrypt/live/cert-2.domain.com-2/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/cert-2.domain.com-2/privkey.pem
   </IfModule> 
   </VirtualHost>

Mas quando visito qualquer coisa.org.domain.com, ele carrega o arquivo SSL do primeiro host virtual em vez do segundo host virtual,

Mesmo quando tentei um subdomínio que não está no primeiro ou no segundo host virtual, ele ainda carrega o primeiro arquivo SSL do host virtual e o navegador gera um erro SSL inválido.

Como posso resolver isto,

Obrigado

Responder1

Os aliases de servidor devem ser separados por espaço, não por vírgula, então sua ServerAliaslinha deve ficar assim:

ServerAlias cert-1.domain.com *.net.domain.com

Observe que mais ServerAliasdiretivas podem ser fornecidas em um único bloco, o que torna a configuração um pouco mais legível no caso de muitos aliases.

Se você solicitar um host para o qual não existe nenhuma configuração explícita, o Apache servirá o primeiro bloco que encontrar (é por isso que é uma boa ideia incluir um VirtualHostbloco com ServerAlias *no último lugar, para ter um site "pega-tudo").

Portanto, no seu caso, nenhuma das ServerAliaslinhas funciona (pelo menos não como você espera), pois você está definindo um alias para um servidor que teria o "cert-2.domain.com,*.org.domain.com" nome, com vírgula, asterisco e tudo. Para isso, quando você solicita "anything.org.domain.com", o Apache serve o primeiro bloco que encontra, pois esse nome de host não está definido na configuração.

informação relacionada