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 ServerAlias
línea debería verse así:
ServerAlias cert-1.domain.com *.net.domain.com
ServerAlias
Tenga 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 VirtualHost
bloque ServerAlias *
en el último lugar, para tener un sitio "general").
Entonces, en su caso, ninguna de las ServerAlias
lí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.