我有一个具有自定义来源的Cloudfront发行版。
我想使用Lambda @ Edge原始请求来修改并添加一些额外的标头,以转发到我的原始服务器。
下面是我的lambda函数。 custom_header在我的lambda的Cloudwatch日志中可见,但未显示在我的自定义服务器请求标头中:(。
DateTime StartDate = DateTime.Today;
DateTime EndDate = DateTime.Today.AddMonths(2);
CalendarView cv = new CalendarView(StartDate, EndDate);
String MailboxToAccess = "user@domain.com";
FolderId CalendarFolderId = new FolderId(WellKnownFolderName.Calendar, MailboxToAccess);
FindItemsResults<Appointment> fapts = service.FindAppointments(CalendarFolderId, cv);
if (fapts.Items.Count > 0)
{
foreach (Appointment Appoint in fapts)
{
Console.WriteLine(Appoint.Start);
Console.WriteLine(Appoint.Subject);
}
}
我希望custom_header在我的NodeJS路由中的req.headers下可见。
答案 0 :(得分:1)
自定义标头可以通过以下结构传递。
request.origin.custom.customHeaders
因此,代码应类似于。
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);
}