Virtualhost1 SSL que afecta a Virtualhost2 Aliase SSL

Virtualhost1 SSL que afecta a Virtualhost2 Aliase SSL

Estoy cargando los archivos SSL para mis subdominios comodín desde Virtualhost, pero el segundo host virtual carga el archivo SSL del primer host virtual y el navegador informa un error de certificado no válido.

Aquí está la configuración

    <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>

Pero cuando visito cualquier cosa.org.dominio.com, carga el archivo SSL para el primer host virtual en lugar del segundo Virtualhost.

Incluso cuando probé un subdominio que no está en el primer o segundo host virtual, todavía carga el primer archivo SSL del host virtual y el navegador arroja un error de SSL no válido.

Cómo puedo resolver esto,

Gracias

Respuesta1

Los alias de servidor deben estar separados por espacios, no por comas, por lo que su ServerAliaslínea debería verse así:

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

ServerAliasTenga en cuenta que se pueden dar más directivas en un solo bloque, lo que hace que la configuración sea un poco más legible en caso de que haya muchos alias.

Si solicita un host para el cual no existe una configuración explícita, Apache sirve el primer bloque que encuentra (es por eso que es una buena idea incluir un VirtualHostbloque ServerAlias *en el último lugar, para tener un sitio "general").

Entonces, en su caso, ninguna de las ServerAliaslíneas funciona (de todos modos, no como esperaba), ya que está definiendo un alias para un servidor que tendría "cert-2.domain.com,*.org.domain.com". nombre, con coma, asterisco y todo. Para esto, cuando solicita "cualquier cosa.org.dominio.com", Apache muestra el primer bloque que encuentra, ya que este nombre de host no está definido en la configuración.

información relacionada