Erstens: Der Parameter in <VirtualHost …>
funktioniert nicht so. In „eine IP pro Domain“ Systemen ist es für Spezifizierungs gemeint, die IP - Adresse des Webservers wird binden (das heißt, welche Adresse er Verbindungen erhalten) für diesen virtuellen Host. Es ist nicht für die Auswahl des virtuellen Hosts basierend auf HTTP "Host:" oder TLS SNI vorgesehen.
Sie sagen jedoch in Kommentaren, dass Sie nur eine einzige IP-Adresse haben (Sie möchten also TLS-SNI verwenden). In diesem Fall sollten alle virtuellen Hostblöcke an dieselbe *
Adresse gebunden werden, und der tatsächliche Domänenname sollte als angegeben werden ServerName
.
Zweitens: In der Apache-Konfiguration gewinnt der erste übereinstimmende VirtualHost-Block. Wenn Sie ServerName
über exakte Übereinstimmungen einen Platzhalter haben, wird dieser immer ausgewählt. Stellen Sie daher sicher, dass Ihre VirtualHosts richtig angeordnet sind.
# The specific subdomains go first... <VirtualHost *:443> ServerName servers.domain1.com DocumentRoot /app/corporate/mediaserver/public SSLEngine on SSLCertificateFile /app/corporate/mediaserver/certs/fullchain.pem SSLCertificateKeyFile /app/corporate/mediaserver/certs/privkey.pem </VirtualHost> # ...and the wildcard is last: <VirtualHost *:443> ServerName domain1.com ServerAlias *.domain1.com DocumentRoot /var/www/domain2 SSLEngine on SSLCertificateFile /app/domain2/certs/fullchain.pem SSLCertificateKeyFile /app/domain2/certs/domain2.com.key </VirtualHost>
(Die SSLCertificateChainFile
Einstellung ist in Apache 2.4 veraltet. Die SSLCA*
Einstellungen gelten für die Clientauthentifizierung. Wenn Sie diese Option nicht verwenden, benötigen Sie sie auch nicht.)