Lambda@Edge for "origin request" doesn't receive custom headers

0

I have a CloudFront distribution with S3 origins. In the origin settings there are custom headers added (i.e. "x-test"). The behaviour has two Lambdas: for "origin request" and "origin response" hooks (both NodeJS). It is all completely fine with the one for "origin response" hook, but the one for "origin request" doesn't receive "x-test" header in the event...headers object. All the docs and articles I've read say that "origin request" Lambda should get this header too. Tried to add "x-test" header to whitelist in attached "origin request policy" - this didn't help. Cannot find ANY information why could this happen. Does anyone have any ideas?

  • Can you share from which object are you trying to read the custom header from?

  • Sure. event.Records[0].cf.request.headers The same works perfectly for the function for "origin response"

Corwin
已提问 1 年前930 查看次数
1 回答
0
已接受的回答

I have finally found them. For "origin request" hook they are here: event.Records[0].cf.request.origin.s3.customHeaders and if origin is ALB: event.Records[0].cf.request.origin.custom.customHeaders

Corwin
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则