Holgers Sammelsurium

Fotografie, Reisen, Nerdkrams

KI Generiertes Bild einer Mastodon-Herde, die alles Niedertrampelt

Fedi-DDoS vs. WordPress & Cache- vs. Counter-Plugin

Seit einer Weile habe ich festgestellt, dass mein Server – ab und an – ziemliche Probleme bekommt, wenn ich einen gebloggten Artikel auf Mastodon poste. Das Problem dabei ist, dass jede Mastodon-Instanz, die diesen Post „sieht“, den dort verlinkten Blogartikel aufruft, um – scheinbar das Beitragsbild und andere Dinge, das wohl zum Darstellen des Posts auf der Instanz nötig sind, zu laden.

Das Föderieren ist sehr, sehr schnell. Ich habe mir das mal via nginx-Logs (siehe Bild unten) angesehen. Ein, zwei Sekunden nach Abschicken des Posts ist auf dem Server die Hölle los, da dutzende Server quasi zeitgleich aus der ganzen Welt auf WordPress zugreifen. Das flacht zwar nach ca. 30 Sekunden wieder ab, diese „Distributed DoS-Attacke“ kann aber für meinen bescheidenen vHost zu viel sein, da er manchmal schlicht und ergreifend komplett die Grätsche macht.

Um diese Lastspitze abzupuffern habe ich das Cache-Plugin WP Fastest Cache installiert, welches verhindern sollte, dass jede Anfrage auch Datenbank- und anderen Aktivitäten auf meinem Server auslöst. Das tut es scheinbar auch, da ich seit dem Aktivieren des Plugins keine Server-Probleme mehr hatte. Fedi-DDoS gelöst. Aaaber:

Ich nutzt seit geraumer Zeit auch das Plugin WP Statistics, um die Zugriffe auf den Blog zu zählen. Der Vorteil von dem Tool ist, dass es bequem ist, da es alles von selbst erledigt. Man muss also nicht wie bei z.B. Matomo noch einen extra „Zählserver“ einrichten oder – jetzt wird es eklig und GSDVO-kritisch – die „Klicks“ zu G00g1e schicken.

Leider „zählt“ WP Statistics nach dem Aktivieren von WP Fastest Cache keine Zugriffe mehr. Das ist Blöd. Noch blöder ist, dass WP Statistics das Vorhandensein des Cache-Plugins erkennt und eine „Lösung“ vorschlägt: man muss nur in den Optionen von WP Statistics einen Haken für den Cache-Kompatibiliätsmodus setzen und dann soll™ wieder alles funktionieren. Abgesehen, dass es so noch immer nicht funktioniert, hat mich der Tipp sogar davon abgehalten den „Fehler“ bei WP Fastest Cache zu suchen…

Man muss folgendes wissen: WP Statistics baut JavaScript in den Post ein, der dafür sorgt, dass der Browser eine URL aufruft, die auf eine Funktion des WP Statistic Plugins zeigt. Über diesen Aufruf wird der Zugriff auf die Seite gezählt. Was ich nicht bedacht habe, ist, dass das Cache-Plugin so gründlich ist, dass auch diese Aufrufe aus dem Cache beantwortet werden. Das führt natürlich dazu, dass an anderer Stelle kein Zugriff mehr sichtbar ist und somit auch nicht gezählt werden kann. Wer einen „externen“ Counter wie Matomo oder G00g1e nutzt, ist von dem Cache-Problem natürlich nicht betroffen…

Die Lösung: Man muss in den Optionen von Fastest Cache ausschalten, dass die Anfragen an WP Statistics gecached werden! Dazu im Menü „JS Ausschließen“ wp-statistics/v2 hinzufügen und den aktuellen Cache leeren.

(Edit: ich habe eben bemerkt, dass wenn der Cache-Kompatibiliätsmodus von WP Statistics aktiv ist, auch nicht gezählt wird. Also ist der Hinweis nicht nur hinderlich, sondern – zumindest zusammen mit WP Fastest Cache – auch falsch.)


Beitrag veröffentlicht am

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert