Apache2 SSL-Konfiguration - Apache wählt immer den ersten IP-basierten virtuellen Host

Apache2 SSL-Konfiguration - Apache wählt immer den ersten IP-basierten virtuellen Host

Wir haben einen Ubuntu 10.04-Server mit Apache 2.2.14 und 4 IP-basierten virtuellen Hosts. Wir haben 2 IP-Adressen und ein SSL-Zertifikat für jede IP-Adresse. Beispiel:

<VirtualHost 1.1.1.1:80>
<VirtualHost 1.1.1.1:443> -> SSL 1

<VirtualHost 2.2.2.2:80>
<VirtualHost 2.2.2.2:4443> -> SSL 2

Egal was wir tun, aus irgendeinem Grund findet Apache beim Bereitstellen von HTTPS-Anfragen immer den ersten einbezogenen virtuellen Host, aber nicht den zweiten. Dies führt dazu, dass Apache das SSL-Zertifikat vom ersten einbezogenen virtuellen Host für BEIDE IP-Adressen bereitstellt. Ein sehr unerwünschtes Ergebnis.

Alle IP-Adresskonfigurationen sind korrekt. Beim Ausführen apache2ctl -Swird angezeigt, dass alle Konfigurationen korrekt sind.

Wir verwenden keine namenbasierten virtuellen Hosts.

Es spielt keine Rolle, welcher :443-Vhost zuerst einbezogen wird, Apache stellt nur das Zertifikat vom ersten einbezogenen Vhost bereit.

Unserem Verständnis nach verwendet Apache standardmäßig den ersten gefundenen virtuellen Host, wenn kein virtueller Host für die IP-Adresse: den Port gefunden wird.

Warum sollte das passieren?

Antwort1

Sieht aus, als ob Apache2 die ServerNameDirektive für alle <VirtualHost>s erfordert. Unsere beiden SSL-vHosts hatten am Ende das Gleiche ServerNameund einer wurde zum Standard für beide IP-Adressen.

verwandte Informationen