Por isso que tudo o que eu fazia no Cloudflare não funcionava, não sei porque nem passava pela minha cabeça que podia ser a Vercel adicionando essa configuração automaticamente
Editei minha resposta anterior para acrescentar que as duas CDNs modificam os cabeçalhos, tanto a Vercel quanto a Cloudflare.
Onde estamos definindo como no-cache, no-store, max-age=0, must-revalidate
(aqui poderia ser apenas no-store
🤔) a Vercel mantém como definimos, mas a Cloudflare altera para public, max-age=0, must-revalidate
.
Já onde definimos public, s-maxage=10, stale-while-revalidate
a Vercel modifica para public, max-age=0, must-revalidate
e a Cloudflare modifica para public
Estou passando pela mesma situação
No meu caso, a Cloudflare não estava alterando imediatamente para public
, mas, após algum tempo, a configuração definida no arquivo da página era substituída por public
Fui ver essa outra questão da vercel não definir o header que estava configurado no meu arquivo /api/v1/hello
, pois acontece o mesmo que você mencionou
Fiz um pequeno teste editando o arquivo next.config.js
e adicionei o header para a rota da api
{
source: '/api/v1/hello',
headers: [
{ key: 'Cache-Control', value: 'public, s-maxage=60, stale-while-revalidate' },
],
},
Depois dessa configuração, a rota /api/v1/hello
ficou com a configuração certa (também testei com no-cache, no-store, max-age=0, must-revalidate
)
Talvez esse não seja o melhor caminho, mas por enquanto não sei o que fazer
Não fiz nenhuma alteração no Cloudflare.