Inkonsistenter angemeldeter Zustand hinter Fastly

Ich habe ein etwas seltsames Problem, bei dem viele Faktoren eine Rolle spielen.

Problem:

Wenn ich angemeldet bin und direkt zur Startseite meines Forums navigiere, scheint es, als wäre ich nicht angemeldet. In der Benutzeroberfläche, z. B. in der Navigationsleiste, werden Links für „Registrieren/Anmelden" angezeigt, anstatt des Benutzer-Avatars.

Beim direkten Navigieren zu einem bestimmten Beitrag wird der korrekte angemeldete Zustand angezeigt, und nachfolgende PushState-Übergänge funktionieren, einschließlich des Wechsels zur Startseite. Ein Neuladen der Startseite führt jedoch dazu, dass sie wieder als abgemeldet angezeigt wird (wie oben beschrieben).

Hintergrund:

Ich verwende Discourse vollständig hinter Fastly, mit Ausnahme der Polling-Funktionalität, die direkt mit meiner GCP Compute-Instanz kommuniziert.

Ich vermute, dass dies mit der Caching-Schicht zusammenhängt, aber ich habe mich sehr genau durch die Diskussionen in diesem Forum gearbeitet. Die automatische GZIP-Komprimierung von Fastly ist bei mir nicht aktiviert.

Das Forum ist hier und hier ist ein Video davon.

2 „Gefällt mir“

Upon further investigation, I think the issue may be related to when the Cache-Control response header is no-cache, no-store in combination with Fastly not respecting those values.

My Fastly CDN was marking what looked like a noscript version of the home page for a web crawler as HIT’s because it must have crawled with the no-cache, no-store value.

Fastly suggests adding an Expires: 0 in situations like this.

I’ve implemented this as suggested by the fastly docs in the meantime.

1 „Gefällt mir“