Wir haben einen dedizierten Server bei GoDaddy, auf dem Plesk läuft und der SSL erfordert.
Ich habe die Zertifikatsdateien generiert und eine vhost_ssl.conf erstellt (da ich die Standard-Plesk-Apache-Konfiguration http.include nicht bearbeiten kann, wird vhost_ssl.conf in httpd.include aufgenommen), die Apache mitteilt, wo die Zertifikatsdateien zu finden sind:
SSLCertificateFile /usr/local/psa/var/certificates/domain.com.crt
SSLCertificateKeyFile /usr/local/psa/var/certificates/domain.com.key
SSLCertificateChainFile /usr/local/psa/var/certificates/sub.class1.server.ca.pem
Wenn ich Apache stoppe/starte, weigert er sich zu starten. Auch das error_log enthält nichts (was seltsam ist).
Dann habe ich httpd.include geöffnet und Folgendes gefunden:
<VirtualHost 208.xxx.xxx.xxx:443>
ServerName domain.com:443
ServerAlias www.domain.com
UseCanonicalName Off
SSLEngine on
SSLVerifyClient none
SSLCertificateFile /usr/local/psa/var/certificates/certagC9054
Include /var/www/vhosts/domain.com/conf/vhost_ssl.conf
Dann habe ich auskommentiert
SSLCertificateFile /usr/local/psa/var/certificates/certagC9054
(das ist das SSL-Zertifikat von Plesk) und habe Apache neu gestartet und es hat einwandfrei funktioniert.
Es scheint, dass Apache mehrere SSLCertificateFile innerhalb derselben VirtualHost-Direktive nicht mag?
Wie jeder weiß, der mit Plesk gearbeitet hat, kann ich die Direktive „SSLCertificateFile“ in httpd.include nicht einfach entfernen, da Plesk meine Änderungen überschreibt, wenn jemand sie verwendet – deshalb steht sie in vhost_ssl.conf.
Ich stecke also fest und das übersteigt meine dürftigen Administratorkenntnisse. Ich wäre dankbar, wenn mir jemand, der weiß, was er tut, sagen würde, was los ist.
Dank im Voraus.
Antwort1
Meiner Erfahrung nach hat es mit Plesk im Allgemeinen besser geklappt, wenn ich die Plesk-Admin-Site zum Verwalten meiner Sites verwendet habe, anstatt die Konfigurationsdatei manuell zu bearbeiten. Die integrierte Unterstützung von SSL-Zertifikaten in Plesk ist ziemlich gut – Sie können problemlos ein Zertifikat hinzufügen, das Sie von einem Drittanbieter erhalten haben, und es einer der Sites zuordnen, die Sie in Plesk konfiguriert haben.
Wenn Sie die Konfigurationsdateien direkt ändern, ist das Warnsignal, das ich in Ihrem Beitrag sehe, dass Sie versuchen, zwei verschiedene Zertifikate auf denselben virtuellen Host anzuwenden. Meiner Erfahrung nach funktionieren SSL-Zertifikate im Allgemeinen nur, wenn eine 1:1-Beziehung zwischen IP-Adresse und SSL-Zertifikat besteht. Mein Vorschlag wäre, eines der SSL-Zertifikate zu entfernen oder den virtuellen Host in zwei separate Sites mit unterschiedlichen IP-Adressen aufzuteilen.
Antwort2
Das hat nichts mit Plesk zu tun. Das Problem liegt in der Funktionsweise von SSL und HTTP. Grundsätzlich kennt SSL den Namen Ihres Servers nicht, bevor er gestartet wird, und Apache kann daher nicht auswählen, welche Zertifikate verwendet werden sollen. Siehehttp://www.modssl.org/docs/2.8/ssl_faq.html#ToC47für weitere Einzelheiten zu diesem Henne-Ei-Problem.