Как добавить добавить собственный заголовок в Cloudfront Lambda @ Edge Origin Request? - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть дистрибутив Cloudfront с пользовательским источником.

Я хочу использовать Lambda @ Edge Origin Request для изменения и добавления некоторых дополнительных заголовков для пересылки на мой сервер происхождения.

Ниже моя лямбда-функция.Custom_header отображается в журналах Cloudwatch для моей лямбды, но не отображается в моих пользовательских заголовках запросов к серверу: (.

exports.handler = (event, context, callback) => {
  const request = event.Records[0].cf.request;
  const headers = request.headers;

  headers['custom_header'] = [{ key: 'custom_header', value: 'custom_header' }];

  return callback(null, request);
}

Я ожидаю, что custom_header будет виден в моем маршруте NodeJS в req.headers.

1 Ответ

0 голосов
/ 02 марта 2019

Пользовательский заголовок может быть пропущен через следующую структуру.

request.origin.custom.customHeaders

Ref: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-event-structure.html#lambda-event-structure-request

Итак, код должен выглядеть следующим образом.

exports.handler = (event, context, callback) => {
  const request = event.Records[0].cf.request;
  const headers = request.headers;

  request.origin.custom.customHeaders['custom_header'] = [{ key: 'custom_header', value: 'custom_header' }];

  return callback(null, request);
}
...