Nach dem kürzlich erfolgten Upgrade von Apache2 auf Version 2.2.31 habe ich ein seltsames Verhalten bei der Einrichtung von SSL VirtualHost festgestellt.
Einige der von mir gehosteten Websites zeigten das Zertifikat für den Standardhost an, auch wenn der Client dies Server Name Identification
wusste, und dies geschah nur bei einigen wenigen. Dies ist die übliche Pass-Warnung von Firefox / Chrome, dass Sie möglicherweise betrogen werden, wenn Sie in Ihrem Homebanking surfen, aber das war einfach nicht der Fall.
Klar, wenn der Server host.hostingdomain.org
über ein eigenes SSL verfügt und versucht, auf das https://www.hostedsite.org
Berichtszertifikat zuzugreifen host.hostingdomain.org
, haben einige https://www.hostedsite.me
das richtige Zertifikat gemeldet.
Alle Sites werden an Port 443 unter derselben IP-Adresse gehostet. In Wahrheit funktioniert VirtualHosting auf der HTTP-Seite und leitet SNI-fähige Clients automatisch zu SSL um, sodass es mit SNI-nicht-fähigen Clients abwärtskompatibel ist.
Wenn Sie die Fehlerprotokolle für die fehlerhaften VirtualHosts untersuchen, wird der folgende Text angezeigt
[Tue Dec 25 16:02:45 2012] [error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] (/path/to/www.site.org.conf:20)
und tatsächlich wurde der vhost mit SSLCertificateFile richtig konfiguriert.
Die Frage ist offensichtlich: Wie kann man das beheben?