我正在使用具有区域 API 网关源的 Cloudfront 发行版。对于无法使用缓存的端点,如果请求包含“Accept-Encoding”标头,我仍然需要压缩响应正文。
这是一个微不足道的要求,我想我已经尝试了一切:
好吧,在尝试了一切之后,我已经预计这是不可能的有原因。但我不明白为什么。
请解释一下,压缩非缓存响应有什么不好?
或者我有机会做到这一点吗?
UPD
原始请求不允许使用 Cloufront 功能
在 Lambda@Edge 函数中 Accept-Encoding 是只读的。
您必须启用缓存,但您可以设置 1 秒的低 TTL,然后将像
X-Amz-Cf-Id
这样的标头添加到您的缓存策略中,以充当缓存破坏者。由于 X-Amz-Cf-Id
的值对于每个请求都是唯一的,因此它将有效地禁用缓存。
CloudFront 在将请求转发到您的源之前将
标头添加到查看器请求中。标头值包含唯一标识请求的加密字符串。X-Amz-Cf-Id