Nach Wechsel von MySQL auf MariaDB Probleme mit Sprung zum letzten neuen Beitrag

  • Betroffene Version
    WoltLab Suite 5.3

    Mein Server wurde von MySQL auf MariaDB umgestellt. Grundsätzliche Probleme gibt es nicht, nur habe ich Probleme mit dem Sprung zum letzten neuen Beitrag. Das funktioniert nicht mehr sauber. Ich melde mich jeweils ab und an. Nach der Anmeldung klappt es, kommen dann weiter Beiträge, die wieder neu sind, klappt es nicht mehr. Ich spinge dann immer zum ersten neuen Beitrag seit der Anmeldung.

    Oder kann das auch einen anderen Grund haben?

    Hat jemand eine Idee?

    Liebe Grüße
    Susi

    • Offizieller Beitrag

    Hallo,

    danke. Es sind in den Header zwar keine offensichtlichen Anzeichen für serverseitiges Caching zu erkennen, dafür aber Header, die unter Umständen für ein Caching im Client sorgen:

    Der HTTP-Status 302 ist eine temporäre Weiterleitung. Es findet sich in der Antwort aber auch ein cache-control: max-age=21600, public. Ersteres gibt an, dass die Antwort für 6 Stunden gecached werden darf und letzteres gibt an, dass die Antwort auch in einem geteilten Cache (ein geteilter Cache ist sowas wie Cloudflare oder ein anderer serverseitiger Cache) gespeichert werden darf.

    Ist beides Murks, insbesondere das public ist ziemlich gefährlich.

    Fazit: Versuch herauszufinden woher dieser schrottige Cache-Control-Header kommt. Wenn du da nicht selbst was durch die .htaccess konfiguriert hast, dann musst du den Webhoster fragen. Durch unsere Software kommt der auf jeden Fall nicht. Ganz im Gegenteil: Ab WoltLab Suite 5.4 setzen wir ganz explizit ein private bei Weiterleitungen um ein Caching in geteilten Caches zu verhindern. Reguläre Seiten dürfen schon ewig nicht mehr gecached werden.

  • Ich denke, das sind die Einträge aus meiner .htaccess. Das steht da jetzt drin.

    Ich habe jetzt erstmal den unteren Teil mit Rauten versehen. Oder sollte das alles raus?

    Liebe Grüße
    Susi

    • Offizieller Beitrag

    Hallo,

    das public (Zeile 32) ist jetzt verschwunden. Das max-age ist noch gesetzt. Das wird die Regel in Zeile 17 sein. Aber effektiv ist der ganze Teil von 14 bis 28 problematisch, weil der nur die Dateitypen und nicht die URLs berücksichtigt.

    Zeile 1 bis 11 ist nicht grundsätzlich problematisch, aber ich würde davon ausgehen, dass der Apache das selbstständig korrekt hinbekommt [1]. Entsprechend würde ich das auch rauswerfen, wodurch die Einstellungen alle entfernt sind und effektiv gar nicht manuell irgendwie daran rumbasteln, insbesondere, wenn man die Regeln selbst nicht versteht.

    [1] Außerdem ist ein DEFLATE für Bilder unsinnig, weil die eh schon komprimiert sind.

  • Danke dir! Ja, da habe ich tatsächlich keine große Ahnung von. Aber als ich es eingetragen habe, habe ich sicher gedacht, dass ich es verstanden habe. Aber dann wohl doch nicht :| . Ist auch sicherlich schon lange so da drin.

    Also würde ich das noch stehen lassen?

    Oder besser alles raus nehmen?

    edit: Zumindest funktioniert es jetzt wieder. Vielen Dank nochmal, Tim!

    Liebe Grüße
    Susi

    Einmal editiert, zuletzt von Susi (11. November 2021 um 22:46)

    • Offizieller Beitrag

    Hallo,

    Oder besser alles raus nehmen?

    würde ich einfach alles rausnehmen. Das vary: accept-encoding sollte durch den Apache (hoffentlich) automatisch gesetzt werden, sobald eine Kompression für die entsprechende Datei aktiv wird. Beim DEFLATE ist eigentlich nur noch js/css relevant und das passiert da (hoffentlich) bereits durch eine entsprechende Konfiguration des Webhosters.

  • Ok, dann kommt jetzt alles raus, wenn All-Inkl das schon am Server so konfiguriert hat. Da frage ich vorher mal nach oder lasse das sonst dort umsetzen. Danke sehr!

    Liebe Grüße
    Susi

    • Offizieller Beitrag

    Hallo,

    Ok, dann kommt jetzt alles raus, wenn All-Inkl das schon am Server so konfiguriert hat. Da frage ich vorher mal nach oder lasse das sonst dort umsetzen. Danke sehr!

    wenn du es schon entfernt hast, dann passt es zumindest für das CSS (JS habe ich nicht geprüft):

    content-encoding: gzip mit passendem vary: accept-encoding.

    • Offizieller Beitrag

    Hallo,

    Als du geschaut hast, war es noch drin, jetzt ist es raus. Wo finde ich denn diese Anzeige?

    ich nutze dafür ein Kommandozeilen-Tool. Das ergibt sich aber auch aus den Dev-Tools des Browsers („Netzwerk-Tab“). Da die entsprechende Anfrage anklicken und die entsprechenden Antwort-Header einsehen. Ich habe aber noch einmal geschaut, geändert hat sich nichts:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!