Nginx

通過 nginx reverse_proxy 保留 Cloudfront brotli 壓縮

  • October 23, 2020

我的問題類似於Nginx 反向代理到雲端發行版並保留 gzip 壓縮,但特別是關於在某些情況下應該比 gzip 執行更好的新 brotli 壓縮算法

我的 AWS Cloudfront Distribution 支持 brotli

在此處輸入圖像描述

但是由於各種原因,我的網站在 nginx 代理後面,當 proxy_passing 請求到雲端時,我失去了 brotli 壓縮,我只得到 gzip。

我已經啟動了 gzip 壓縮和 gzip_proxied,是否有等效的方法可以從雲端分發中保留 gzip 或 brotli 壓縮?我聽說過 nginx 的 brotli 模組和 2017 年的答案(範例),其中提到 proxy_pass 與 nginx + brotli 是不可能的,現在仍然如此嗎?

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

請參閱說明。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 壓縮。

引用自:https://serverfault.com/questions/1039814