Ich habe vor kurzem einen neuen Server für eine WordPress-Website eingerichtet und wie immer vorbereitet: Ubuntu 20.04 als Betriebssystem, Nginx als Webserver, PHP 7.4, und MariaDB für die Datenbank. Ich habe alle Konfigurationen und Datenbanken, Berechtigungen und Zugriffe vorbereitet und WordPress installiert.
Nach der Installation, als ich die Plugins installieren und die Seite vorbereiten wollte, trat dieser Fehler auf:
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
WordPress konnte sich nicht über API-Aufrufe mit sich selbst verbinden, um geplante Aufgaben (wp-cron
) oder Hintergrundaufgaben auszuführen. Ich fand das ziemlich seltsam und begann, die Ursache zu untersuchen. Ich habe im Internet gesucht und einige der möglichen Ursachen waren:
- Dass die cURL-Bibliothek (libcurl) nicht installiert und/oder aktiviert wurde.
- Dass verschiedene PHP-Versionen installiert waren, die sich gegenseitig störten.
- Dass dem Serverblock in der Nginx-Konfiguration die
SSL
Direktive fehlt.
All dies ist sehr einfach zu beheben, aber nichts davon war bei mir der Fall.
Nach etwas mehr Recherche im Internet und einigen Tests fand ich die Lösung, die am Ende genauso einfach war wie die, um die oben genannten Probleme zu beheben.
Die von der Webseite verwendete(n) Domain(s) zur /etc/hosts
Datei hinzuzufügen. Einfach eine Zeile mit der lokalen IP des Servers und den Domainnamen der Seiten hinzufügen, zum Beispiel:
192.168.1.5 kevinmaschke.com www.kevinmaschke.com
Sobald dies erledigt war, habe ich den Server für alle Fälle neu gestartet und violà! Der Fehler war weg.
Kleiner extra Tipp für WordPress
Es ist bekannt, dass sich die Verwendung des in WordPress integrierten Cron-Tribers auf die Ladezeiten der Webseite auswirken kann, daher empfiehlt es sich, diesen zu deaktivieren indem die folgende Zeile in die wp-config.php
Datei hinzugefügt wird:
define('DISABLE_WP_CRON', 'true');
Und die geplanten Aufgaben im Hintergrund über das Betriebssystem selbst auszuführen. Dazu bearbeiten wir in Ubuntu CRON mit dem Befehl crontab -e
und fügen die folgende Zeile hinzu:
*/5 * * * * cd /var/www/kevinmaschke.com/public; /usr/local/bin/wp cron event run --due-now >/dev/null 2>&1
Dran denken dass WP-CLI installiert sein muss, damit dies funktioniert.