diff --git a/cdk/lib/constructs/cf-lambda-furl-service/service.ts b/cdk/lib/constructs/cf-lambda-furl-service/service.ts index 39fc7ae..d3d1811 100644 --- a/cdk/lib/constructs/cf-lambda-furl-service/service.ts +++ b/cdk/lib/constructs/cf-lambda-furl-service/service.ts @@ -89,6 +89,13 @@ export class CloudFrontLambdaFunctionUrlService extends Construct { 'X-HTTP-Method-Override', 'X-HTTP-Method', 'X-Method-Override', + // Next.js App Router RSC headers to prevent cache poisoning. + // Without these, RSC flight responses (text/x-component) and HTML responses + // share the same cache key, causing wrong content to be served. + 'RSC', + 'Next-Router-Prefetch', + 'Next-Router-State-Tree', + 'Next-URL', ), defaultTtl: Duration.seconds(0), cookieBehavior: CacheCookieBehavior.all(), diff --git a/cdk/test/__snapshots__/serverless-fullstack-webapp-starter-kit-without-domain.test.ts.snap b/cdk/test/__snapshots__/serverless-fullstack-webapp-starter-kit-without-domain.test.ts.snap index c3bca2c..1088908 100644 --- a/cdk/test/__snapshots__/serverless-fullstack-webapp-starter-kit-without-domain.test.ts.snap +++ b/cdk/test/__snapshots__/serverless-fullstack-webapp-starter-kit-without-domain.test.ts.snap @@ -4094,6 +4094,10 @@ service iptables save", "X-HTTP-Method-Override", "X-HTTP-Method", "X-Method-Override", + "RSC", + "Next-Router-Prefetch", + "Next-Router-State-Tree", + "Next-URL", ], }, "QueryStringsConfig": { diff --git a/cdk/test/__snapshots__/serverless-fullstack-webapp-starter-kit.test.ts.snap b/cdk/test/__snapshots__/serverless-fullstack-webapp-starter-kit.test.ts.snap index 520dfb6..c83e243 100644 --- a/cdk/test/__snapshots__/serverless-fullstack-webapp-starter-kit.test.ts.snap +++ b/cdk/test/__snapshots__/serverless-fullstack-webapp-starter-kit.test.ts.snap @@ -3918,6 +3918,10 @@ service iptables save", "X-HTTP-Method-Override", "X-HTTP-Method", "X-Method-Override", + "RSC", + "Next-Router-Prefetch", + "Next-Router-State-Tree", + "Next-URL", ], }, "QueryStringsConfig": {