Virtualhost1 SSL beeinflusst Virtualhost2 Aliase SSL

Virtualhost1 SSL beeinflusst Virtualhost2 Aliase SSL

Ich lade die SSL-Dateien für meine Wildcard-Subdomains vom virtuellen Host, aber der zweite virtuelle Host lädt die SSL-Datei des ersten virtuellen Hosts und der Browser meldet einen Fehler „Ungültiges Zertifikat“

Hier ist die Konfiguration

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

Aber wenn ich anything.org.domain.com besuche, wird die SSL-Datei für den ersten virtuellen Host statt für den zweiten virtuellen Host geladen.

Selbst wenn ich eine Subdomäne ausprobiert habe, die sich nicht im ersten oder zweiten virtuellen Host befindet, wird dennoch die SSL-Datei des ersten virtuellen Hosts geladen und der Browser gibt einen „Ungültiges SSL“-Fehler aus.

Wie kann ich dieses Problem lösen?

Danke

Antwort1

Server-Aliase müssen durch Leerzeichen und nicht durch Kommas getrennt werden. Ihre ServerAliasZeile sollte also folgendermaßen aussehen:

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

Beachten Sie, dass in einem einzigen Block mehrere ServerAliasAnweisungen angegeben werden können, wodurch die Konfiguration bei vielen Aliasnamen etwas lesbarer wird.

VirtualHostWenn Sie einen Host anfordern, für den keine explizite Konfiguration vorhanden ist, stellt Apache den ersten Block bereit, den es findet (aus diesem Grund ist es eine gute Idee, an letzter Stelle einen Block einzufügen ServerAlias *, um eine „Catch-All“-Site zu haben).

In Ihrem Fall funktioniert also keine der ServerAliasZeilen (jedenfalls nicht so, wie Sie es erwarten), da Sie einen Alias ​​für einen Server definieren, der den Namen „cert-2.domain.com,*.org.domain.com“ mit Komma, Sternchen und allem hätte. Wenn Sie daher nach „anything.org.domain.com“ fragen, stellt Apache den ersten Block bereit, auf den es stößt, da dieser Hostname in der Konfiguration nicht definiert ist.

verwandte Informationen