Estado inconsistente de sessão iniciada atrás do Fastly

Estou tendo um problema um pouco estranho, mas há muitos fatores envolvidos.

Problema:

Quando estou logado e navego diretamente para a página inicial do meu fórum, parece que não estou logado na interface, por exemplo, a barra de navegação exibe links de “cadastro/entrada” em vez do avatar do usuário.

Navegar diretamente para uma postagem específica resulta no estado de login correto, e as transições pushstate subsequentes funcionam, inclusive ao ir para a página inicial. No entanto, uma recarga na página inicial faz com que ela apareça como deslogada (como mencionado acima).

Contexto:

Estou usando o Discourse totalmente atrás do Fastly, exceto pela funcionalidade de polling, que se comunica diretamente com minha instância do GCP Compute.

Minha suposição é que isso tenha algo a ver com a camada de cache, mas tenho sido bastante cuidadoso ao ler as discussões neste fórum. Não tenho a compressão automática GZIP do Fastly ativada.

O fórum está aqui e aqui está um vídeo do problema.

2 curtidas

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 curtida