WordPress SSL-Fehler
Bei „normalen“ WordPress-Installationen, also ohne eingerichtetes Blog-Netzwerk, trat der Fehler bei mir bisher noch nie auf. Daher betrifft es vermutlich nur die Multi-Blog Installationen. Eigentlich ist der Hinweis ja korrekt, dass es ein Problem mit dem SSL-Zertifikat gibt. Aber eigentlich sollte ein Hinweis reichen und nicht die Aktualisierung mit einer Fehlermeldung abgebrochen werden. Das Fehlen eines korrekten SSL-Zertifikats war mir bewusst, und dadurch wurde die Installation von Sicherheitsupdates verhindert.
Die Fehlermeldung, die bei der Aktualisierung von WordPress erscheint:
Warnung! Problem beim Aktualisieren von https://exmaple.com. Vermutlich gab es einen Zeitablauf. Die Fehlermeldung lautet: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed.
Der Fehler in der englischen Version von WordPress:
Warning! Problem updating https://exmaple.com. Your server may not be able to connect to sites running on it. Error message: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed.
Behebung des Fehlers
Im offiziellen WordPress-Forum habe ich dann den Hinweis gefunden, wie trotzdem ein Update möglich ist. Dazu muss einfach die Zeile 67 der Datei „/wp-admin/network/upgrade.php“ bearbeitet werden und der Parameter „’sslverify‘ => false“ hinzugefügt werden.
Bisheriger Eintrag:
$response = wp_remote_get( $upgrade_url, array( 'timeout' => 120, 'httpversion' => '1.1' ) );
Neuer Eintrag:
$response = wp_remote_get( $upgrade_url, array( 'timeout' => 120, 'httpversion' => '1.1', 'sslverify' => false ) );
Damit funktioniert die Aktualisierung einer WordPress Multi-Installation ohne SSL-Fehlermeldung.
Wäre es nicht die bessere Idee, die Validierung des Zertifikats zu reparieren?
(das geht ja auch ohne teures Wildcard-Zertifikat mit einem selbstsignierten oder CAcert-Zertifikat, wenn nur die OpenSSL-Installation auf dem Server die Zertifizierungsstelle kennt)