使用 Cloudfront 和 nginx SSI 进行传输压缩

使用 Cloudfront 和 nginx SSI 进行传输压缩

如果源是启用了 SSI(服务器端包含)的 nginx 服务器,是否有办法在 Cloudfront 上启用 GZIP / Brotli 压缩?

问题似乎是 nginx SSI 删除了Content-Length标头,因为它在发送标头时不知道内容长度,因为文件尚未解析。然而,Cloudfront 显然需要标Content-Length头来压缩请求:

响应必须包含 Content-Length 标头,以便 CloudFront 可以确定文件大小是否在 CloudFront 压缩的范围内。如果缺少 Content-Length 标头,CloudFront 将不会压缩文件。

Cloudfront 文档

有没有办法强制 nginx 在发送标头并因此包括之前解析整个文件(并应用 SSI)Content-Length?或者更好的办法是:强制 Cloudfront 压缩后续缓存命中,因为它显然已经知道内容长度?

相关内容