Warnung beim Hinzufügen mehrerer VirtualHosts an Port 443 - "_default_ VirtualHost-Überlappung an Port 443, der erste hat Vorrang"

7

Ich verwende Ubuntu 12.10 und habe die folgenden 4 VirtualHost-Einträge in /etc/apache2/apache2.conf

Die 4 VirtualHost-Einträge gelten für 2 separate Sites test.example.comund jeweils test2.example.comeinen Eintrag für HTTP und einen für HTTPS.

<VirtualHost *:443>
   DocumentRoot /var/www/test
   ServerName test.example.com
   # Other settings goes here
</VirtualHost>


<VirtualHost *:80>
   DocumentRoot /var/www/test
   ServerName test.example.com
   # Other settings goes here
</VirtualHost>

<VirtualHost *:443>
   DocumentRoot /var/www/test2
   ServerName test2.example.com
   # Other settings goes here
</VirtualHost>


<VirtualHost *:80>
   DocumentRoot /var/www/test2
   ServerName test2.example.com
   # Other settings goes here
</VirtualHost>

Mein Problem Wenn ich Apache speichere und neu starte, erhalte ich folgende Warnung: -

* Neustart des Webservers apache2
[Sun Feb 17 18:30:09 2013] [warn] _default_ VirtualHost-Überlappung auf Port 443, der erste hat Vorrang
 ... warten [Sun Feb 17 18:30:10 2013] [warn] _default_ VirtualHost überlappen sich auf Port 443, der erste hat Vorrang

Und ich bekomme den Inhalt, /var/www/testwenn ich beide test.example.comund öffnetest2.example.com

Irgendeine Idee, wo das Problem liegt?

Sparky
quelle
Ist NameVirtualHost *:443in Ihrer Konfiguration?
Fälscher
@faker, nicht war es nicht. Ich habe es hinzugefügt und das Problem wurde gelöst :) Danke. Wenn Sie es als Antwort hinzufügen, kann ich es akzeptieren. Können Sie mir auch sagen, warum das Hinzufügen notwendig war, da ich NameVirtualHost *: 80 für HTTP nicht hinzugefügt hatte und trotzdem beide VirtualHosts auf Port 80 aufgewacht sind?
Sparky

Antworten:

12

Sie müssen hinzufügen, NameVirtualHost *:443damit es funktioniert.
NameVirtualHost *:80muss auch in Ihrer Konfiguration sein, es ist wahrscheinlich standardmäßig eingestellt, aber ich benutze kein Ubuntu, daher bin ich mir nicht sicher, in welcher Datei.

Auch ein Tipp: Das
Ausführen mehrerer HTTPS-Sites auf einer einzigen IP kann Nachteile haben, insbesondere ältere Clients (IE8 / Windows XP) unterstützen SNI nicht.
In Ihrer Situation mag dies durchaus sinnvoll sein (nur zum Testen wird das Platzhalterzertifikat * .example.com verwendet usw.), aber Sie sollten sich dessen bewusst sein.

Schwindler
quelle
Ich hatte heute damit zu kämpfen, alles funktionierte sofort nach dem Hinzufügen der Zeile. Vielen Dank.
Swimburger
1
Auf meinem Ubuntu-Server musste ich dies hinzufügen /etc/apache2/ports.conf. Da drin, <IfModule mod_ssl.c>hatte bereits ein Listen 443und fügte ich NameVirtualHost *:443dort. Es bezieht sich auch auf eine andere Datei in den Kommentaren, die aber auf meinem Server nicht vorhanden war. Führen Sie eine aus apachectl -t, um zu überprüfen, ob Ihre Konfiguration korrekt ist.
Ar34z