如果源是启用了 SSI(服务器端包含)的 nginx 服务器,是否有办法在 Cloudfront 上启用 GZIP / Brotli 压缩?
问题似乎是 nginx SSI 删除了Content-Length
标头,因为它在发送标头时不知道内容长度,因为文件尚未解析。然而,Cloudfront 显然需要标Content-Length
头来压缩请求:
响应必须包含 Content-Length 标头,以便 CloudFront 可以确定文件大小是否在 CloudFront 压缩的范围内。如果缺少 Content-Length 标头,CloudFront 将不会压缩文件。
有没有办法强制 nginx 在发送标头并因此包括之前解析整个文件(并应用 SSI)Content-Length
?或者更好的办法是:强制 Cloudfront 压缩后续缓存命中,因为它显然已经知道内容长度?