When a server action is called Next.js tries to set the Keep-alive header which it can't be provided in the CloudFront Lambda Edge.
That returns the following response
Status Code: 502
Response:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>502 ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
The Lambda function result failed validation: The function tried to add a blacklisted header.
We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.
<BR clear="all">
If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: gaOBxQLbSxm0GXcyaL7XMbBVwaAzyQpZ9XhoBm0i2ZBOWn9SZk303g==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>
Suggested Fix
OpenNext should remove those blacklisted headers from the lambda response.
Issue
Deployment Mode
AWS Lambda@Edge
Context
When a server action is called Next.js tries to set the
Keep-alive
header which it can't be provided in the CloudFront Lambda Edge.That returns the following response
Status Code:
502
Response:
Suggested Fix
OpenNext should remove those blacklisted headers from the lambda response.