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?
quelle
Ich hatte genau das gleiche Problem, und was für mich funktionierte, war unglaublich einfach
edit /etc/apache2/ports.conf (für Ubuntu oder httpd.conf)
Ändern Sie "Listen 443" in "Listen 443 http" unter ssl_module
quelle
Eine andere Lösung besteht darin, sicherzustellen, dass alle Ihre: 443-Vhosts die TLS-Konfiguration enthalten.
Dieses Problem wurde kürzlich in Debian Wheezy eingeführt und ich habe die Lösung von http://blog.noizeramp.com/2010/10/03/apache-2-and-ssl-configuration/ erhalten .
quelle
httpd.conf
aber die Zeilen, in denen die TLS-Konfiguration angegeben ist, wurden nicht eingefügt . Das Hinzufügen der verschiedenen TLS-Einstellungen in (SSLEngine, SSLCipherSuite, SSLCertificateFile und SSLCertificateKeyFile) hat das Problem behoben.