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 年前檢視次數 861 次
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 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南