Send Cache-Control: no-store on every page to defeat upstream caching
Every page here is personalized (session, coin balance, owned games) — no intermediate proxy should ever cache one. Traced a report of a stale UI (missing header content that had already shipped) to caching somewhere between the app and the client — nginx isn't even on this VM, the user's reverse proxy (Nginx Proxy Manager) lives on a separate one I can't inspect. Rather than debug an opaque hop I don't control, close it from this side: explicit no-store on every HTML/API response except /_next/static, which keeps its normal long-lived immutable caching since those filenames are content-hashed by the build. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QcXH24ky6zjk2UyK5oZUPH
This commit is contained in:
1 parent
e682c7df13
commit
43347bc31b
1 file changed
+14
@@ -5,6 +5,20 @@ const nextConfig: NextConfig = {
|
|||||||
// native .node binaries, not its JS loader, causing a segfault in
|
// native .node binaries, not its JS loader, causing a segfault in
|
||||||
// production. Deploying with the full node_modules via `next start` is
|
// production. Deploying with the full node_modules via `next start` is
|
||||||
// simple enough for a single-VM deployment.
|
// simple enough for a single-VM deployment.
|
||||||
|
|
||||||
|
async headers() {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
// Every page is personalized (session, wallet balance, owned
|
||||||
|
// games) — an intermediate proxy (nginx, a CDN) has no business
|
||||||
|
// caching any of it. Static assets under /_next/static are
|
||||||
|
// content-hashed by the build and are explicitly excluded here so
|
||||||
|
// they keep their own long-lived caching.
|
||||||
|
source: "/((?!_next/static).*)",
|
||||||
|
headers: [{ key: "Cache-Control", value: "no-store" }],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default nextConfig;
|
export default nextConfig;
|
||||||
Reference in new issue
Block a user