通过 nginx reverse_proxy 保留 Cloudfront brotli 压缩

通过 nginx reverse_proxy 保留 Cloudfront brotli 压缩

我的问题类似于Nginx 反向代理到 cloudfront 分布并保留 gzip 压缩但特别是关于新的 brotli 压缩算法,在某些情况下,它的性能应该比 gzip 更好

我的 AWS Cloudfront Distribution 支持 brotli

在此处输入图片描述

但由于各种原因,我的网站位于 nginx 代理后面,并且当通过 proxy_passing 将请求发送到 cloudfront 时,我失去了 brotli 压缩,只得到了 gzip。

我已经激活了 gzip 压缩和 gzip_proxied,是否有等效方法可以让 gzip 或 brotli 压缩从 cloudfront 分发中保留下来?我听说过 nginx 的 brotli 模块和 2017 年的答案 (例子) 提到 nginx + brotli 的 proxy_pass 是不可能的,现在仍然如此吗?

server { 
  ...
  gzip on;
  gzip_comp_level 5;
  gzip_min_length 256;
  gzip_proxied any;
  gzip_vary on;
  gzip_types *;

答案1

澄清一下。ngx_brotli 开发人员提到,类似的东西brotli_proxied不是必需的,因为它默认会压缩代理请求。

server { 
  ...
  gzip on;
  gzip_comp_level 5;
  gzip_min_length 256;
  gzip_proxied any;
  gzip_vary on;
  gzip_types *;

  brotli on;
  ...
}

应该足够了。如果上游(在本例中为 Cloudfront)提供 Brotli 压缩资产,则 NGINX 将直接将其原封不动地传回客户端,而无需进行两次 Brotli 压缩。

相关内容