使用lambda@Edge 我可以删除自定义标头,但仅此而已...它仍然会发送X-Amz... 和X-Cache 标头,这些标头对于浏览器接收是没有意义的
这是 20 分钟研究的结果:
lamdba@edge函数内容:
exports.handler = async (event, context) => {
const response = event.Records[0].cf.response;
const headers = response.headers;
// console.log('before', JSON.stringify(headers).length, JSON.stringify(headers));
/*
{
"x-amz-id-2": [
{
"key": "x-amz-id-2",
"value": "XTGarjTktp+kDnYOCGbYkxDYLSZ9zHhUga6QSTNGhnqCuEgFRRvHsMcf0RbjrO6wsmX9NblckO0="
}
],
"x-amz-request-id": [
{
"key": "x-amz-request-id",
"value": "E2FC8989DE42B358"
}
],
"date": [
{
"key": "Date",
"value": "Thu, 30 Jul 2020 07:22:54 GMT"
}
],
"last-modified": [
{
"key": "Last-Modified",
"value": "Mon, 27 Jul 2020 13:12:59 GMT"
}
],
"etag": [
{
"key": "ETag",
"value": "\"115bbd98a61b665346d0b497f52cc94a\""
}
],
"x-amz-meta-cache-control": [
{
"key": "x-amz-meta-cache-control",
"value": "max-age=604800"
}
],
"cache-control": [
{
"key": "Cache-Control",
"value": "max-age=604800"
}
],
"x-amz-meta-file-compressed": [
{
"key": "x-amz-meta-file-compressed",
"value": "Mon Jul 27 2020 13:12:58 GMT+0000 (Coordinated Universal Time)"
}
],
"accept-ranges": [
{
"key": "Accept-Ranges",
"value": "bytes"
}
],
"server": [
{
"key": "Server",
"value": "AmazonS3"
}
],
"content-type": [
{
"key": "Content-Type",
"value": "image/png"
}
],
"content-length": [
{
"key": "Content-Length",
"value": "73432"
}
]
}
*/
// delete extra headers
delete headers['age'];
delete headers['via'];
delete headers['connection'];
delete headers['server'];
delete headers['x-cache'];
delete headers['x-amz-cf-pop'];
delete headers['x-amz-cf-id'];
delete headers['x-amz-meta-cache-control'];
delete headers['x-amz-meta-file-compressed'];
delete headers['x-amz-id-2'];
delete headers['x-amz-request-id'];
delete headers['etag'];
// console.log('after', JSON.stringify(headers).length, JSON.stringify(headers));
return response;
};
所以我们从 72.33Kb 到 72.15Kb,这就是 0.18Kb 减少 ...我们希望 lambda 函数运行的成本没有超过我们节省的成本??
Lambda 运行报告:
REPORT RequestId: 433e05a2-fb70-45a5-9773-92f024d5f05c Duration: 3.94 ms Billed Duration: 50 ms Memory Size: 128 MB Max Memory Used: 65 MB Init Duration: 146.52 ms