我有一个 Viewer Response Lambda@Edge 脚本,它通过读取标头中的其他信息来手动添加服务器计时标头。这样,我的 JavaScript 代码就可以读取该值并将其用于其他客户端功能,例如报告。
export async function viewerResponse(event) {
const { request, response } = event.Records[0].cf;
response.headers['Server-Timing'] = [{ key: 'Server-Timing', value: 'something' }];
return response;
}
到目前为止一切顺利。我可以看到标题添加在边缘。
但是,当 CloudFront 注册 HIT(如标头
X-Cache: hit by cloudfront
所示)时,Server-Timing 标头神秘地消失了。就好像 CloudFront 决定覆盖此标头。
有人见过这样的事情吗?可以告诉 CloudFront 停止干扰吗?
我尝试在 CloudFront 的安全标头策略中启用服务器计时。除了我想要的任何缓存未命中的自定义内容之外,这还添加了 CloudFront 自己的服务器计时变量。但一旦发生缓存命中,自定义添加内容就会被删除。