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年前915ビュー
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年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ